-- generated by using spec/Declarations.yaml

{-# LANGUAGE DataKinds #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE OverloadedStrings #-}

module ATen.Managed.Native where


import Foreign.C.String
import Foreign.C.Types
import Foreign
import ATen.Type
import ATen.Class
import ATen.Cast
import qualified ATen.Unmanaged.Native as Unmanaged
import ATen.Unmanaged.Type.Generator
import ATen.Unmanaged.Type.IntArray
import ATen.Unmanaged.Type.Scalar
import ATen.Unmanaged.Type.Storage
import ATen.Unmanaged.Type.Tensor
import ATen.Unmanaged.Type.TensorList
import ATen.Unmanaged.Type.TensorOptions
import ATen.Unmanaged.Type.Tuple
import ATen.Unmanaged.Type.StdString
import ATen.Unmanaged.Type.StdArray
import ATen.Unmanaged.Type.Dimname
import ATen.Unmanaged.Type.DimnameList


_cast_Byte_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
_cast_Byte_tb = cast2 Unmanaged._cast_Byte_tb

_cast_Byte_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_cast_Byte_t = cast1 Unmanaged._cast_Byte_t

_cast_Char_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
_cast_Char_tb = cast2 Unmanaged._cast_Char_tb

_cast_Char_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_cast_Char_t = cast1 Unmanaged._cast_Char_t

_cast_Double_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
_cast_Double_tb = cast2 Unmanaged._cast_Double_tb

_cast_Double_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_cast_Double_t = cast1 Unmanaged._cast_Double_t

_cast_Float_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
_cast_Float_tb = cast2 Unmanaged._cast_Float_tb

_cast_Float_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_cast_Float_t = cast1 Unmanaged._cast_Float_t

_cast_Int_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
_cast_Int_tb = cast2 Unmanaged._cast_Int_tb

_cast_Int_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_cast_Int_t = cast1 Unmanaged._cast_Int_t

_cast_Long_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
_cast_Long_tb = cast2 Unmanaged._cast_Long_tb

_cast_Long_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_cast_Long_t = cast1 Unmanaged._cast_Long_t

_cast_Short_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
_cast_Short_tb = cast2 Unmanaged._cast_Short_tb

_cast_Short_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_cast_Short_t = cast1 Unmanaged._cast_Short_t

_cast_Half_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
_cast_Half_tb = cast2 Unmanaged._cast_Half_tb

_cast_Half_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_cast_Half_t = cast1 Unmanaged._cast_Half_t

align_tensors_l
  :: ForeignPtr TensorList
  -> IO (ForeignPtr TensorList)
align_tensors_l = cast1 Unmanaged.align_tensors_l

_cudnn_ctc_loss_ttlllbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_cudnn_ctc_loss_ttlllbb = cast7 Unmanaged._cudnn_ctc_loss_ttlllbb

_cudnn_rnn_flatten_weight_llllllbb
  :: ForeignPtr TensorList
  -> Int64
  -> Int64
  -> Int64
  -> Int64
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
_cudnn_rnn_flatten_weight_llllllbb = cast8 Unmanaged._cudnn_rnn_flatten_weight_llllllbb

_cudnn_rnn_tlltttlllbdbblt
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> Int64
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> CBool
  -> CDouble
  -> CBool
  -> CBool
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor)))
_cudnn_rnn_tlltttlllbdbblt = cast15 Unmanaged._cudnn_rnn_tlltttlllbdbblt

_cudnn_rnn_backward_tlltttttttlllbdbbltta
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> Int64
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> CBool
  -> CDouble
  -> CBool
  -> CBool
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr (StdArray '(CBool,4))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor,TensorList)))
_cudnn_rnn_backward_tlltttttttlllbdbbltta = cast21 Unmanaged._cudnn_rnn_backward_tlltttttttlllbdbbltta

_cudnn_init_dropout_state_dblo
  :: CDouble
  -> CBool
  -> Int64
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
_cudnn_init_dropout_state_dblo = cast4 Unmanaged._cudnn_init_dropout_state_dblo

_debug_has_internal_overlap_t
  :: ForeignPtr Tensor
  -> IO (Int64)
_debug_has_internal_overlap_t = cast1 Unmanaged._debug_has_internal_overlap_t

_fused_dropout_tdp
  :: ForeignPtr Tensor
  -> CDouble
  -> ForeignPtr Generator
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_fused_dropout_tdp = cast3 Unmanaged._fused_dropout_tdp

_fused_dropout_td
  :: ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_fused_dropout_td = cast2 Unmanaged._fused_dropout_td

_masked_scale_ttd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
_masked_scale_ttd = cast3 Unmanaged._masked_scale_ttd

_sobol_engine_draw_tltlls
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> ScalarType
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_sobol_engine_draw_tltlls = cast6 Unmanaged._sobol_engine_draw_tltlls

_sobol_engine_ff__tltll
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
_sobol_engine_ff__tltll = cast5 Unmanaged._sobol_engine_ff__tltll

_sobol_engine_scramble__ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
_sobol_engine_scramble__ttl = cast3 Unmanaged._sobol_engine_scramble__ttl

_sobol_engine_initialize_state__tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
_sobol_engine_initialize_state__tl = cast2 Unmanaged._sobol_engine_initialize_state__tl

_reshape_from_tensor_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_reshape_from_tensor_tt = cast2 Unmanaged._reshape_from_tensor_tt

_shape_as_tensor_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_shape_as_tensor_t = cast1 Unmanaged._shape_as_tensor_t

dropout_tdb
  :: ForeignPtr Tensor
  -> CDouble
  -> CBool
  -> IO (ForeignPtr Tensor)
dropout_tdb = cast3 Unmanaged.dropout_tdb

dropout__tdb
  :: ForeignPtr Tensor
  -> CDouble
  -> CBool
  -> IO (ForeignPtr Tensor)
dropout__tdb = cast3 Unmanaged.dropout__tdb

feature_dropout_tdb
  :: ForeignPtr Tensor
  -> CDouble
  -> CBool
  -> IO (ForeignPtr Tensor)
feature_dropout_tdb = cast3 Unmanaged.feature_dropout_tdb

feature_dropout__tdb
  :: ForeignPtr Tensor
  -> CDouble
  -> CBool
  -> IO (ForeignPtr Tensor)
feature_dropout__tdb = cast3 Unmanaged.feature_dropout__tdb

alpha_dropout_tdb
  :: ForeignPtr Tensor
  -> CDouble
  -> CBool
  -> IO (ForeignPtr Tensor)
alpha_dropout_tdb = cast3 Unmanaged.alpha_dropout_tdb

alpha_dropout__tdb
  :: ForeignPtr Tensor
  -> CDouble
  -> CBool
  -> IO (ForeignPtr Tensor)
alpha_dropout__tdb = cast3 Unmanaged.alpha_dropout__tdb

feature_alpha_dropout_tdb
  :: ForeignPtr Tensor
  -> CDouble
  -> CBool
  -> IO (ForeignPtr Tensor)
feature_alpha_dropout_tdb = cast3 Unmanaged.feature_alpha_dropout_tdb

feature_alpha_dropout__tdb
  :: ForeignPtr Tensor
  -> CDouble
  -> CBool
  -> IO (ForeignPtr Tensor)
feature_alpha_dropout__tdb = cast3 Unmanaged.feature_alpha_dropout__tdb

abs_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
abs_t = cast1 Unmanaged.abs_t

abs__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
abs__t = cast1 Unmanaged.abs__t

abs_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
abs_out_tt = cast2 Unmanaged.abs_out_tt

acos_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
acos_t = cast1 Unmanaged.acos_t

acos__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
acos__t = cast1 Unmanaged.acos__t

acos_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
acos_out_tt = cast2 Unmanaged.acos_out_tt

avg_pool1d_tlllbb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
avg_pool1d_tlllbb = cast6 Unmanaged.avg_pool1d_tlllbb

avg_pool1d_tlllb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
avg_pool1d_tlllb = cast5 Unmanaged.avg_pool1d_tlllb

avg_pool1d_tlll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
avg_pool1d_tlll = cast4 Unmanaged.avg_pool1d_tlll

avg_pool1d_tll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
avg_pool1d_tll = cast3 Unmanaged.avg_pool1d_tll

avg_pool1d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
avg_pool1d_tl = cast2 Unmanaged.avg_pool1d_tl

adaptive_avg_pool1d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
adaptive_avg_pool1d_tl = cast2 Unmanaged.adaptive_avg_pool1d_tl

adaptive_max_pool1d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
adaptive_max_pool1d_tl = cast2 Unmanaged.adaptive_max_pool1d_tl

add_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
add_tts = cast3 Unmanaged.add_tts

add_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
add_tt = cast2 Unmanaged.add_tt

add_out_ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
add_out_ttts = cast4 Unmanaged.add_out_ttts

add_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
add_out_ttt = cast3 Unmanaged.add_out_ttt

add_tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
add_tss = cast3 Unmanaged.add_tss

add_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
add_ts = cast2 Unmanaged.add_ts

addmv_tttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addmv_tttss = cast5 Unmanaged.addmv_tttss

addmv_ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addmv_ttts = cast4 Unmanaged.addmv_ttts

addmv_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
addmv_ttt = cast3 Unmanaged.addmv_ttt

addmv__tttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addmv__tttss = cast5 Unmanaged.addmv__tttss

addmv__ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addmv__ttts = cast4 Unmanaged.addmv__ttts

addmv__ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
addmv__ttt = cast3 Unmanaged.addmv__ttt

addmv_out_ttttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addmv_out_ttttss = cast6 Unmanaged.addmv_out_ttttss

addmv_out_tttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addmv_out_tttts = cast5 Unmanaged.addmv_out_tttts

addmv_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
addmv_out_tttt = cast4 Unmanaged.addmv_out_tttt

addr_tttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addr_tttss = cast5 Unmanaged.addr_tttss

addr_ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addr_ttts = cast4 Unmanaged.addr_ttts

addr_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
addr_ttt = cast3 Unmanaged.addr_ttt

addr_out_ttttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addr_out_ttttss = cast6 Unmanaged.addr_out_ttttss

addr_out_tttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addr_out_tttts = cast5 Unmanaged.addr_out_tttts

addr_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
addr_out_tttt = cast4 Unmanaged.addr_out_tttt

affine_grid_generator_tlb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
affine_grid_generator_tlb = cast3 Unmanaged.affine_grid_generator_tlb

affine_grid_generator_backward_tlb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
affine_grid_generator_backward_tlb = cast3 Unmanaged.affine_grid_generator_backward_tlb

all_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
all_tlb = cast3 Unmanaged.all_tlb

all_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
all_tl = cast2 Unmanaged.all_tl

all_out_ttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
all_out_ttlb = cast4 Unmanaged.all_out_ttlb

all_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
all_out_ttl = cast3 Unmanaged.all_out_ttl

all_tnb
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> CBool
  -> IO (ForeignPtr Tensor)
all_tnb = cast3 Unmanaged.all_tnb

all_tn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
all_tn = cast2 Unmanaged.all_tn

all_out_ttnb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> CBool
  -> IO (ForeignPtr Tensor)
all_out_ttnb = cast4 Unmanaged.all_out_ttnb

all_out_ttn
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
all_out_ttn = cast3 Unmanaged.all_out_ttn

allclose_ttddb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> CDouble
  -> CBool
  -> IO (CBool)
allclose_ttddb = cast5 Unmanaged.allclose_ttddb

allclose_ttdd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> CDouble
  -> IO (CBool)
allclose_ttdd = cast4 Unmanaged.allclose_ttdd

allclose_ttd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> IO (CBool)
allclose_ttd = cast3 Unmanaged.allclose_ttd

allclose_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (CBool)
allclose_tt = cast2 Unmanaged.allclose_tt

any_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
any_tlb = cast3 Unmanaged.any_tlb

any_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
any_tl = cast2 Unmanaged.any_tl

any_out_ttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
any_out_ttlb = cast4 Unmanaged.any_out_ttlb

any_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
any_out_ttl = cast3 Unmanaged.any_out_ttl

any_tnb
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> CBool
  -> IO (ForeignPtr Tensor)
any_tnb = cast3 Unmanaged.any_tnb

any_tn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
any_tn = cast2 Unmanaged.any_tn

any_out_ttnb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> CBool
  -> IO (ForeignPtr Tensor)
any_out_ttnb = cast4 Unmanaged.any_out_ttnb

any_out_ttn
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
any_out_ttn = cast3 Unmanaged.any_out_ttn

arange_so
  :: ForeignPtr Scalar
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
arange_so = cast2 Unmanaged.arange_so

arange_s
  :: ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
arange_s = cast1 Unmanaged.arange_s

arange_sso
  :: ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
arange_sso = cast3 Unmanaged.arange_sso

arange_ss
  :: ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
arange_ss = cast2 Unmanaged.arange_ss

arange_ssso
  :: ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
arange_ssso = cast4 Unmanaged.arange_ssso

arange_sss
  :: ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
arange_sss = cast3 Unmanaged.arange_sss

arange_out_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
arange_out_ts = cast2 Unmanaged.arange_out_ts

arange_out_tsss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
arange_out_tsss = cast4 Unmanaged.arange_out_tsss

arange_out_tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
arange_out_tss = cast3 Unmanaged.arange_out_tss

_dim_arange_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
_dim_arange_tl = cast2 Unmanaged._dim_arange_tl

argmax_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
argmax_tlb = cast3 Unmanaged.argmax_tlb

argmax_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
argmax_tl = cast2 Unmanaged.argmax_tl

argmax_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
argmax_t = cast1 Unmanaged.argmax_t

argmin_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
argmin_tlb = cast3 Unmanaged.argmin_tlb

argmin_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
argmin_tl = cast2 Unmanaged.argmin_tl

argmin_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
argmin_t = cast1 Unmanaged.argmin_t

as_strided_tlll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
as_strided_tlll = cast4 Unmanaged.as_strided_tlll

as_strided_tll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
as_strided_tll = cast3 Unmanaged.as_strided_tll

as_strided__tlll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
as_strided__tlll = cast4 Unmanaged.as_strided__tlll

as_strided__tll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
as_strided__tll = cast3 Unmanaged.as_strided__tll

asin_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
asin_t = cast1 Unmanaged.asin_t

asin__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
asin__t = cast1 Unmanaged.asin__t

asin_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
asin_out_tt = cast2 Unmanaged.asin_out_tt

atan_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
atan_t = cast1 Unmanaged.atan_t

atan__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
atan__t = cast1 Unmanaged.atan__t

atan_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
atan_out_tt = cast2 Unmanaged.atan_out_tt

baddbmm_tttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
baddbmm_tttss = cast5 Unmanaged.baddbmm_tttss

baddbmm_ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
baddbmm_ttts = cast4 Unmanaged.baddbmm_ttts

baddbmm_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
baddbmm_ttt = cast3 Unmanaged.baddbmm_ttt

_baddbmm_mkl__tttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
_baddbmm_mkl__tttss = cast5 Unmanaged._baddbmm_mkl__tttss

_baddbmm_mkl__ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
_baddbmm_mkl__ttts = cast4 Unmanaged._baddbmm_mkl__ttts

_baddbmm_mkl__ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_baddbmm_mkl__ttt = cast3 Unmanaged._baddbmm_mkl__ttt

baddbmm_out_ttttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
baddbmm_out_ttttss = cast6 Unmanaged.baddbmm_out_ttttss

baddbmm_out_tttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
baddbmm_out_tttts = cast5 Unmanaged.baddbmm_out_tttts

baddbmm_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
baddbmm_out_tttt = cast4 Unmanaged.baddbmm_out_tttt

bartlett_window_lo
  :: Int64
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
bartlett_window_lo = cast2 Unmanaged.bartlett_window_lo

bartlett_window_l
  :: Int64
  -> IO (ForeignPtr Tensor)
bartlett_window_l = cast1 Unmanaged.bartlett_window_l

bartlett_window_lbo
  :: Int64
  -> CBool
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
bartlett_window_lbo = cast3 Unmanaged.bartlett_window_lbo

bartlett_window_lb
  :: Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
bartlett_window_lb = cast2 Unmanaged.bartlett_window_lb

batch_norm_tttttbddb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CDouble
  -> CDouble
  -> CBool
  -> IO (ForeignPtr Tensor)
batch_norm_tttttbddb = cast9 Unmanaged.batch_norm_tttttbddb

_batch_norm_impl_index_tttttbddb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CDouble
  -> CDouble
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor,Int64)))
_batch_norm_impl_index_tttttbddb = cast9 Unmanaged._batch_norm_impl_index_tttttbddb

_batch_norm_impl_index_backward_ltttttttbda
  :: Int64
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CDouble
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
_batch_norm_impl_index_backward_ltttttttbda = cast11 Unmanaged._batch_norm_impl_index_backward_ltttttttbda

bernoulli_tp
  :: ForeignPtr Tensor
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
bernoulli_tp = cast2 Unmanaged.bernoulli_tp

bernoulli_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
bernoulli_t = cast1 Unmanaged.bernoulli_t

bernoulli_out_ttp
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
bernoulli_out_ttp = cast3 Unmanaged.bernoulli_out_ttp

bernoulli_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
bernoulli_out_tt = cast2 Unmanaged.bernoulli_out_tt

bernoulli_tdp
  :: ForeignPtr Tensor
  -> CDouble
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
bernoulli_tdp = cast3 Unmanaged.bernoulli_tdp

bernoulli_td
  :: ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
bernoulli_td = cast2 Unmanaged.bernoulli_td

bilinear_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
bilinear_tttt = cast4 Unmanaged.bilinear_tttt

binary_cross_entropy_with_logits_ttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
binary_cross_entropy_with_logits_ttttl = cast5 Unmanaged.binary_cross_entropy_with_logits_ttttl

binary_cross_entropy_with_logits_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
binary_cross_entropy_with_logits_tttt = cast4 Unmanaged.binary_cross_entropy_with_logits_tttt

binary_cross_entropy_with_logits_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
binary_cross_entropy_with_logits_ttt = cast3 Unmanaged.binary_cross_entropy_with_logits_ttt

binary_cross_entropy_with_logits_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
binary_cross_entropy_with_logits_tt = cast2 Unmanaged.binary_cross_entropy_with_logits_tt

binary_cross_entropy_with_logits_backward_tttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
binary_cross_entropy_with_logits_backward_tttttl = cast6 Unmanaged.binary_cross_entropy_with_logits_backward_tttttl

binary_cross_entropy_with_logits_backward_ttttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
binary_cross_entropy_with_logits_backward_ttttt = cast5 Unmanaged.binary_cross_entropy_with_logits_backward_ttttt

binary_cross_entropy_with_logits_backward_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
binary_cross_entropy_with_logits_backward_tttt = cast4 Unmanaged.binary_cross_entropy_with_logits_backward_tttt

binary_cross_entropy_with_logits_backward_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
binary_cross_entropy_with_logits_backward_ttt = cast3 Unmanaged.binary_cross_entropy_with_logits_backward_ttt

bincount_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
bincount_ttl = cast3 Unmanaged.bincount_ttl

bincount_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
bincount_tt = cast2 Unmanaged.bincount_tt

bincount_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
bincount_t = cast1 Unmanaged.bincount_t

bitwise_not_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
bitwise_not_t = cast1 Unmanaged.bitwise_not_t

bitwise_not_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
bitwise_not_out_tt = cast2 Unmanaged.bitwise_not_out_tt

logical_not_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
logical_not_t = cast1 Unmanaged.logical_not_t

logical_not_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
logical_not_out_tt = cast2 Unmanaged.logical_not_out_tt

logical_xor_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
logical_xor_tt = cast2 Unmanaged.logical_xor_tt

logical_xor_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
logical_xor_out_ttt = cast3 Unmanaged.logical_xor_out_ttt

blackman_window_lo
  :: Int64
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
blackman_window_lo = cast2 Unmanaged.blackman_window_lo

blackman_window_l
  :: Int64
  -> IO (ForeignPtr Tensor)
blackman_window_l = cast1 Unmanaged.blackman_window_l

blackman_window_lbo
  :: Int64
  -> CBool
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
blackman_window_lbo = cast3 Unmanaged.blackman_window_lbo

blackman_window_lb
  :: Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
blackman_window_lb = cast2 Unmanaged.blackman_window_lb

bmm_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
bmm_tt = cast2 Unmanaged.bmm_tt

bmm_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
bmm_out_ttt = cast3 Unmanaged.bmm_out_ttt

broadcast_tensors_l
  :: ForeignPtr TensorList
  -> IO (ForeignPtr TensorList)
broadcast_tensors_l = cast1 Unmanaged.broadcast_tensors_l

cat_ll
  :: ForeignPtr TensorList
  -> Int64
  -> IO (ForeignPtr Tensor)
cat_ll = cast2 Unmanaged.cat_ll

cat_l
  :: ForeignPtr TensorList
  -> IO (ForeignPtr Tensor)
cat_l = cast1 Unmanaged.cat_l

cat_out_tll
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> Int64
  -> IO (ForeignPtr Tensor)
cat_out_tll = cast3 Unmanaged.cat_out_tll

cat_out_tl
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> IO (ForeignPtr Tensor)
cat_out_tl = cast2 Unmanaged.cat_out_tl

cat_ln
  :: ForeignPtr TensorList
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
cat_ln = cast2 Unmanaged.cat_ln

cat_out_tln
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
cat_out_tln = cast3 Unmanaged.cat_out_tln

ceil_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
ceil_t = cast1 Unmanaged.ceil_t

ceil__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
ceil__t = cast1 Unmanaged.ceil__t

ceil_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
ceil_out_tt = cast2 Unmanaged.ceil_out_tt

chain_matmul_l
  :: ForeignPtr TensorList
  -> IO (ForeignPtr Tensor)
chain_matmul_l = cast1 Unmanaged.chain_matmul_l

chunk_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr TensorList)
chunk_tll = cast3 Unmanaged.chunk_tll

chunk_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr TensorList)
chunk_tl = cast2 Unmanaged.chunk_tl

clamp_tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp_tss = cast3 Unmanaged.clamp_tss

clamp_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp_ts = cast2 Unmanaged.clamp_ts

clamp_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clamp_t = cast1 Unmanaged.clamp_t

clamp__tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp__tss = cast3 Unmanaged.clamp__tss

clamp__ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp__ts = cast2 Unmanaged.clamp__ts

clamp__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clamp__t = cast1 Unmanaged.clamp__t

clamp_out_ttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp_out_ttss = cast4 Unmanaged.clamp_out_ttss

clamp_out_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp_out_tts = cast3 Unmanaged.clamp_out_tts

clamp_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clamp_out_tt = cast2 Unmanaged.clamp_out_tt

clamp_max_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp_max_ts = cast2 Unmanaged.clamp_max_ts

clamp_max__ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp_max__ts = cast2 Unmanaged.clamp_max__ts

clamp_max_out_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp_max_out_tts = cast3 Unmanaged.clamp_max_out_tts

clamp_min_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp_min_ts = cast2 Unmanaged.clamp_min_ts

clamp_min__ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp_min__ts = cast2 Unmanaged.clamp_min__ts

clamp_min_out_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
clamp_min_out_tts = cast3 Unmanaged.clamp_min_out_tts

cudnn_is_acceptable_t
  :: ForeignPtr Tensor
  -> IO (CBool)
cudnn_is_acceptable_t = cast1 Unmanaged.cudnn_is_acceptable_t

constant_pad_nd_tls
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
constant_pad_nd_tls = cast3 Unmanaged.constant_pad_nd_tls

constant_pad_nd_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
constant_pad_nd_tl = cast2 Unmanaged.constant_pad_nd_tl

convolution_tttlllbll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
convolution_tttlllbll = cast9 Unmanaged.convolution_tttlllbll

convolution_overrideable_tttlllbll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
convolution_overrideable_tttlllbll = cast9 Unmanaged.convolution_overrideable_tttlllbll

convolution_backward_overrideable_tttlllblla
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> ForeignPtr IntArray
  -> Int64
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
convolution_backward_overrideable_tttlllblla = cast10 Unmanaged.convolution_backward_overrideable_tttlllblla

_convolution_tttlllbllbbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
_convolution_tttlllbllbbb = cast12 Unmanaged._convolution_tttlllbllbbb

_convolution_nogroup_tttlllbl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
_convolution_nogroup_tttlllbl = cast8 Unmanaged._convolution_nogroup_tttlllbl

_convolution_double_backward_ttttttlllbllbbba
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> CBool
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
_convolution_double_backward_ttttttlllbllbbba = cast16 Unmanaged._convolution_double_backward_ttttttlllbllbbba

conv1d_tttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
conv1d_tttllll = cast7 Unmanaged.conv1d_tttllll

conv1d_tttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv1d_tttlll = cast6 Unmanaged.conv1d_tttlll

conv1d_tttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv1d_tttll = cast5 Unmanaged.conv1d_tttll

conv1d_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv1d_tttl = cast4 Unmanaged.conv1d_tttl

conv1d_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv1d_ttt = cast3 Unmanaged.conv1d_ttt

conv1d_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv1d_tt = cast2 Unmanaged.conv1d_tt

conv2d_tttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
conv2d_tttllll = cast7 Unmanaged.conv2d_tttllll

conv2d_tttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv2d_tttlll = cast6 Unmanaged.conv2d_tttlll

conv2d_tttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv2d_tttll = cast5 Unmanaged.conv2d_tttll

conv2d_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv2d_tttl = cast4 Unmanaged.conv2d_tttl

conv2d_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv2d_ttt = cast3 Unmanaged.conv2d_ttt

conv2d_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv2d_tt = cast2 Unmanaged.conv2d_tt

conv3d_tttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
conv3d_tttllll = cast7 Unmanaged.conv3d_tttllll

conv3d_tttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv3d_tttlll = cast6 Unmanaged.conv3d_tttlll

conv3d_tttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv3d_tttll = cast5 Unmanaged.conv3d_tttll

conv3d_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv3d_tttl = cast4 Unmanaged.conv3d_tttl

conv3d_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv3d_ttt = cast3 Unmanaged.conv3d_ttt

conv3d_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv3d_tt = cast2 Unmanaged.conv3d_tt

conv_tbc_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
conv_tbc_tttl = cast4 Unmanaged.conv_tbc_tttl

conv_tbc_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv_tbc_ttt = cast3 Unmanaged.conv_tbc_ttt

conv_tbc_backward_ttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
conv_tbc_backward_ttttl = cast5 Unmanaged.conv_tbc_backward_ttttl

conv_transpose1d_tttlllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose1d_tttlllll = cast8 Unmanaged.conv_transpose1d_tttlllll

conv_transpose1d_tttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
conv_transpose1d_tttllll = cast7 Unmanaged.conv_transpose1d_tttllll

conv_transpose1d_tttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose1d_tttlll = cast6 Unmanaged.conv_transpose1d_tttlll

conv_transpose1d_tttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose1d_tttll = cast5 Unmanaged.conv_transpose1d_tttll

conv_transpose1d_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose1d_tttl = cast4 Unmanaged.conv_transpose1d_tttl

conv_transpose1d_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv_transpose1d_ttt = cast3 Unmanaged.conv_transpose1d_ttt

conv_transpose1d_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv_transpose1d_tt = cast2 Unmanaged.conv_transpose1d_tt

conv_transpose2d_tttlllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose2d_tttlllll = cast8 Unmanaged.conv_transpose2d_tttlllll

conv_transpose2d_tttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
conv_transpose2d_tttllll = cast7 Unmanaged.conv_transpose2d_tttllll

conv_transpose2d_tttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose2d_tttlll = cast6 Unmanaged.conv_transpose2d_tttlll

conv_transpose2d_tttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose2d_tttll = cast5 Unmanaged.conv_transpose2d_tttll

conv_transpose2d_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose2d_tttl = cast4 Unmanaged.conv_transpose2d_tttl

conv_transpose2d_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv_transpose2d_ttt = cast3 Unmanaged.conv_transpose2d_ttt

conv_transpose2d_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv_transpose2d_tt = cast2 Unmanaged.conv_transpose2d_tt

conv_transpose3d_tttlllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose3d_tttlllll = cast8 Unmanaged.conv_transpose3d_tttlllll

conv_transpose3d_tttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
conv_transpose3d_tttllll = cast7 Unmanaged.conv_transpose3d_tttllll

conv_transpose3d_tttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose3d_tttlll = cast6 Unmanaged.conv_transpose3d_tttlll

conv_transpose3d_tttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose3d_tttll = cast5 Unmanaged.conv_transpose3d_tttll

conv_transpose3d_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
conv_transpose3d_tttl = cast4 Unmanaged.conv_transpose3d_tttl

conv_transpose3d_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv_transpose3d_ttt = cast3 Unmanaged.conv_transpose3d_ttt

conv_transpose3d_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
conv_transpose3d_tt = cast2 Unmanaged.conv_transpose3d_tt

_copy_from_ttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
_copy_from_ttb = cast3 Unmanaged._copy_from_ttb

_copy_from_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_copy_from_tt = cast2 Unmanaged._copy_from_tt

cos_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cos_t = cast1 Unmanaged.cos_t

cos__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cos__t = cast1 Unmanaged.cos__t

cos_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cos_out_tt = cast2 Unmanaged.cos_out_tt

cosh_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cosh_t = cast1 Unmanaged.cosh_t

cosh__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cosh__t = cast1 Unmanaged.cosh__t

cosh_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cosh_out_tt = cast2 Unmanaged.cosh_out_tt

cosine_embedding_loss_tttdl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> Int64
  -> IO (ForeignPtr Tensor)
cosine_embedding_loss_tttdl = cast5 Unmanaged.cosine_embedding_loss_tttdl

cosine_embedding_loss_tttd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
cosine_embedding_loss_tttd = cast4 Unmanaged.cosine_embedding_loss_tttd

cosine_embedding_loss_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cosine_embedding_loss_ttt = cast3 Unmanaged.cosine_embedding_loss_ttt

cudnn_affine_grid_generator_tllll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
cudnn_affine_grid_generator_tllll = cast5 Unmanaged.cudnn_affine_grid_generator_tllll

cudnn_affine_grid_generator_backward_tllll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
cudnn_affine_grid_generator_backward_tllll = cast5 Unmanaged.cudnn_affine_grid_generator_backward_tllll

cudnn_batch_norm_tttttbdd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CDouble
  -> CDouble
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
cudnn_batch_norm_tttttbdd = cast8 Unmanaged.cudnn_batch_norm_tttttbdd

cudnn_batch_norm_backward_tttttttd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
cudnn_batch_norm_backward_tttttttd = cast8 Unmanaged.cudnn_batch_norm_backward_tttttttd

cudnn_convolution_tttllllbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
cudnn_convolution_tttllllbb = cast9 Unmanaged.cudnn_convolution_tttllllbb

cudnn_convolution_backward_input_lttllllbb
  :: ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
cudnn_convolution_backward_input_lttllllbb = cast9 Unmanaged.cudnn_convolution_backward_input_lttllllbb

cudnn_convolution_backward_tttllllbba
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
cudnn_convolution_backward_tttllllbba = cast10 Unmanaged.cudnn_convolution_backward_tttllllbba

cudnn_convolution_backward_bias_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cudnn_convolution_backward_bias_t = cast1 Unmanaged.cudnn_convolution_backward_bias_t

cudnn_convolution_backward_weight_lttllllbb
  :: ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
cudnn_convolution_backward_weight_lttllllbb = cast9 Unmanaged.cudnn_convolution_backward_weight_lttllllbb

cudnn_convolution_transpose_tttlllllbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
cudnn_convolution_transpose_tttlllllbb = cast10 Unmanaged.cudnn_convolution_transpose_tttlllllbb

cudnn_convolution_transpose_backward_tttlllllbba
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
cudnn_convolution_transpose_backward_tttlllllbba = cast11 Unmanaged.cudnn_convolution_transpose_backward_tttlllllbba

cudnn_convolution_transpose_backward_bias_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cudnn_convolution_transpose_backward_bias_t = cast1 Unmanaged.cudnn_convolution_transpose_backward_bias_t

cudnn_convolution_transpose_backward_input_ttllllbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
cudnn_convolution_transpose_backward_input_ttllllbb = cast8 Unmanaged.cudnn_convolution_transpose_backward_input_ttllllbb

cudnn_convolution_transpose_backward_weight_lttllllbb
  :: ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
cudnn_convolution_transpose_backward_weight_lttllllbb = cast9 Unmanaged.cudnn_convolution_transpose_backward_weight_lttllllbb

cudnn_grid_sampler_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cudnn_grid_sampler_tt = cast2 Unmanaged.cudnn_grid_sampler_tt

cudnn_grid_sampler_backward_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
cudnn_grid_sampler_backward_ttt = cast3 Unmanaged.cudnn_grid_sampler_backward_ttt

cumsum_tls
  :: ForeignPtr Tensor
  -> Int64
  -> ScalarType
  -> IO (ForeignPtr Tensor)
cumsum_tls = cast3 Unmanaged.cumsum_tls

cumsum_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
cumsum_tl = cast2 Unmanaged.cumsum_tl

cumsum_out_ttls
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> ScalarType
  -> IO (ForeignPtr Tensor)
cumsum_out_ttls = cast4 Unmanaged.cumsum_out_ttls

cumsum_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
cumsum_out_ttl = cast3 Unmanaged.cumsum_out_ttl

cumsum_tns
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ScalarType
  -> IO (ForeignPtr Tensor)
cumsum_tns = cast3 Unmanaged.cumsum_tns

cumsum_tn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
cumsum_tn = cast2 Unmanaged.cumsum_tn

cumsum_out_ttns
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ScalarType
  -> IO (ForeignPtr Tensor)
cumsum_out_ttns = cast4 Unmanaged.cumsum_out_ttns

cumsum_out_ttn
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
cumsum_out_ttn = cast3 Unmanaged.cumsum_out_ttn

cumprod_tls
  :: ForeignPtr Tensor
  -> Int64
  -> ScalarType
  -> IO (ForeignPtr Tensor)
cumprod_tls = cast3 Unmanaged.cumprod_tls

cumprod_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
cumprod_tl = cast2 Unmanaged.cumprod_tl

cumprod_out_ttls
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> ScalarType
  -> IO (ForeignPtr Tensor)
cumprod_out_ttls = cast4 Unmanaged.cumprod_out_ttls

cumprod_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
cumprod_out_ttl = cast3 Unmanaged.cumprod_out_ttl

cumprod_tns
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ScalarType
  -> IO (ForeignPtr Tensor)
cumprod_tns = cast3 Unmanaged.cumprod_tns

cumprod_tn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
cumprod_tn = cast2 Unmanaged.cumprod_tn

cumprod_out_ttns
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ScalarType
  -> IO (ForeignPtr Tensor)
cumprod_out_ttns = cast4 Unmanaged.cumprod_out_ttns

cumprod_out_ttn
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
cumprod_out_ttn = cast3 Unmanaged.cumprod_out_ttn

ctc_loss_ttllllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
ctc_loss_ttllllb = cast7 Unmanaged.ctc_loss_ttllllb

ctc_loss_ttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
ctc_loss_ttllll = cast6 Unmanaged.ctc_loss_ttllll

ctc_loss_ttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
ctc_loss_ttlll = cast5 Unmanaged.ctc_loss_ttlll

ctc_loss_ttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
ctc_loss_ttll = cast4 Unmanaged.ctc_loss_ttll

ctc_loss_ttttllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
ctc_loss_ttttllb = cast7 Unmanaged.ctc_loss_ttttllb

ctc_loss_ttttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
ctc_loss_ttttll = cast6 Unmanaged.ctc_loss_ttttll

ctc_loss_ttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
ctc_loss_ttttl = cast5 Unmanaged.ctc_loss_ttttl

ctc_loss_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
ctc_loss_tttt = cast4 Unmanaged.ctc_loss_tttt

_ctc_loss_ttlllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_ctc_loss_ttlllb = cast6 Unmanaged._ctc_loss_ttlllb

_ctc_loss_ttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_ctc_loss_ttlll = cast5 Unmanaged._ctc_loss_ttlll

_ctc_loss_ttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_ctc_loss_ttll = cast4 Unmanaged._ctc_loss_ttll

_ctc_loss_backward_tttllttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
_ctc_loss_backward_tttllttlb = cast9 Unmanaged._ctc_loss_backward_tttllttlb

_ctc_loss_backward_tttllttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
_ctc_loss_backward_tttllttl = cast8 Unmanaged._ctc_loss_backward_tttllttl

det_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
det_t = cast1 Unmanaged.det_t

diag_embed_tlll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
diag_embed_tlll = cast4 Unmanaged.diag_embed_tlll

diag_embed_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
diag_embed_tll = cast3 Unmanaged.diag_embed_tll

diag_embed_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
diag_embed_tl = cast2 Unmanaged.diag_embed_tl

diag_embed_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
diag_embed_t = cast1 Unmanaged.diag_embed_t

diagflat_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
diagflat_tl = cast2 Unmanaged.diagflat_tl

diagflat_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
diagflat_t = cast1 Unmanaged.diagflat_t

diagonal_tlll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
diagonal_tlll = cast4 Unmanaged.diagonal_tlll

diagonal_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
diagonal_tll = cast3 Unmanaged.diagonal_tll

diagonal_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
diagonal_tl = cast2 Unmanaged.diagonal_tl

diagonal_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
diagonal_t = cast1 Unmanaged.diagonal_t

div_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
div_tt = cast2 Unmanaged.div_tt

div_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
div_out_ttt = cast3 Unmanaged.div_out_ttt

div_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
div_ts = cast2 Unmanaged.div_ts

dot_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
dot_tt = cast2 Unmanaged.dot_tt

dot_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
dot_out_ttt = cast3 Unmanaged.dot_out_ttt

einsum_sl
  :: ForeignPtr StdString
  -> ForeignPtr TensorList
  -> IO (ForeignPtr Tensor)
einsum_sl = cast2 Unmanaged.einsum_sl

embedding_ttlbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
embedding_ttlbb = cast5 Unmanaged.embedding_ttlbb

embedding_ttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
embedding_ttlb = cast4 Unmanaged.embedding_ttlb

embedding_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
embedding_ttl = cast3 Unmanaged.embedding_ttl

embedding_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
embedding_tt = cast2 Unmanaged.embedding_tt

embedding_backward_ttllbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
embedding_backward_ttllbb = cast6 Unmanaged.embedding_backward_ttllbb

embedding_dense_backward_ttllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
embedding_dense_backward_ttllb = cast5 Unmanaged.embedding_dense_backward_ttllb

embedding_renorm__ttdd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> CDouble
  -> IO (ForeignPtr Tensor)
embedding_renorm__ttdd = cast4 Unmanaged.embedding_renorm__ttdd

embedding_sparse_backward_ttllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
embedding_sparse_backward_ttllb = cast5 Unmanaged.embedding_sparse_backward_ttllb

embedding_bag_tttblbt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> Int64
  -> CBool
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor,Tensor)))
embedding_bag_tttblbt = cast7 Unmanaged.embedding_bag_tttblbt

embedding_bag_tttblb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor,Tensor)))
embedding_bag_tttblb = cast6 Unmanaged.embedding_bag_tttblb

embedding_bag_tttbl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor,Tensor)))
embedding_bag_tttbl = cast5 Unmanaged.embedding_bag_tttbl

embedding_bag_tttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor,Tensor)))
embedding_bag_tttb = cast4 Unmanaged.embedding_bag_tttb

embedding_bag_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor,Tensor)))
embedding_bag_ttt = cast3 Unmanaged.embedding_bag_ttt

_embedding_bag_tttblbt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> Int64
  -> CBool
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor,Tensor)))
_embedding_bag_tttblbt = cast7 Unmanaged._embedding_bag_tttblbt

_embedding_bag_tttblb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor,Tensor)))
_embedding_bag_tttblb = cast6 Unmanaged._embedding_bag_tttblb

_embedding_bag_tttbl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor,Tensor)))
_embedding_bag_tttbl = cast5 Unmanaged._embedding_bag_tttbl

_embedding_bag_tttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor,Tensor)))
_embedding_bag_tttb = cast4 Unmanaged._embedding_bag_tttb

_embedding_bag_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor,Tensor)))
_embedding_bag_ttt = cast3 Unmanaged._embedding_bag_ttt

_embedding_bag_backward_ttttttlblbt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> Int64
  -> CBool
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_embedding_bag_backward_ttttttlblbt = cast11 Unmanaged._embedding_bag_backward_ttttttlblbt

_embedding_bag_sparse_backward_tttttlblt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_embedding_bag_sparse_backward_tttttlblt = cast9 Unmanaged._embedding_bag_sparse_backward_tttttlblt

_embedding_bag_dense_backward_ttttttlblt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_embedding_bag_dense_backward_ttttttlblt = cast10 Unmanaged._embedding_bag_dense_backward_ttttttlblt

_embedding_bag_per_sample_weights_backward_tttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
_embedding_bag_per_sample_weights_backward_tttttl = cast6 Unmanaged._embedding_bag_per_sample_weights_backward_tttttl

empty_lNoM
  :: ForeignPtr IntArray
  -> ForeignPtr DimnameList
  -> ForeignPtr TensorOptions
  -> MemoryFormat
  -> IO (ForeignPtr Tensor)
empty_lNoM = cast4 Unmanaged.empty_lNoM

empty_lNo
  :: ForeignPtr IntArray
  -> ForeignPtr DimnameList
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
empty_lNo = cast3 Unmanaged.empty_lNo

empty_lN
  :: ForeignPtr IntArray
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
empty_lN = cast2 Unmanaged.empty_lN

empty_loM
  :: ForeignPtr IntArray
  -> ForeignPtr TensorOptions
  -> MemoryFormat
  -> IO (ForeignPtr Tensor)
empty_loM = cast3 Unmanaged.empty_loM

empty_lo
  :: ForeignPtr IntArray
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
empty_lo = cast2 Unmanaged.empty_lo

empty_l
  :: ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
empty_l = cast1 Unmanaged.empty_l

_empty_affine_quantized_lodlM
  :: ForeignPtr IntArray
  -> ForeignPtr TensorOptions
  -> CDouble
  -> Int64
  -> MemoryFormat
  -> IO (ForeignPtr Tensor)
_empty_affine_quantized_lodlM = cast5 Unmanaged._empty_affine_quantized_lodlM

_empty_affine_quantized_lodl
  :: ForeignPtr IntArray
  -> ForeignPtr TensorOptions
  -> CDouble
  -> Int64
  -> IO (ForeignPtr Tensor)
_empty_affine_quantized_lodl = cast4 Unmanaged._empty_affine_quantized_lodl

_empty_affine_quantized_lod
  :: ForeignPtr IntArray
  -> ForeignPtr TensorOptions
  -> CDouble
  -> IO (ForeignPtr Tensor)
_empty_affine_quantized_lod = cast3 Unmanaged._empty_affine_quantized_lod

_empty_affine_quantized_lo
  :: ForeignPtr IntArray
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
_empty_affine_quantized_lo = cast2 Unmanaged._empty_affine_quantized_lo

_empty_affine_quantized_l
  :: ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
_empty_affine_quantized_l = cast1 Unmanaged._empty_affine_quantized_l

_empty_per_channel_affine_quantized_lttloM
  :: ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> ForeignPtr TensorOptions
  -> MemoryFormat
  -> IO (ForeignPtr Tensor)
_empty_per_channel_affine_quantized_lttloM = cast6 Unmanaged._empty_per_channel_affine_quantized_lttloM

_empty_per_channel_affine_quantized_lttlo
  :: ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
_empty_per_channel_affine_quantized_lttlo = cast5 Unmanaged._empty_per_channel_affine_quantized_lttlo

_empty_per_channel_affine_quantized_lttl
  :: ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
_empty_per_channel_affine_quantized_lttl = cast4 Unmanaged._empty_per_channel_affine_quantized_lttl

empty_out_tlM
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> MemoryFormat
  -> IO (ForeignPtr Tensor)
empty_out_tlM = cast3 Unmanaged.empty_out_tlM

empty_out_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
empty_out_tl = cast2 Unmanaged.empty_out_tl

empty_like_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
empty_like_t = cast1 Unmanaged.empty_like_t

empty_like_toM
  :: ForeignPtr Tensor
  -> ForeignPtr TensorOptions
  -> MemoryFormat
  -> IO (ForeignPtr Tensor)
empty_like_toM = cast3 Unmanaged.empty_like_toM

empty_like_to
  :: ForeignPtr Tensor
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
empty_like_to = cast2 Unmanaged.empty_like_to

empty_strided_llo
  :: ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
empty_strided_llo = cast3 Unmanaged.empty_strided_llo

empty_strided_ll
  :: ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
empty_strided_ll = cast2 Unmanaged.empty_strided_ll

erf_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
erf_t = cast1 Unmanaged.erf_t

erf__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
erf__t = cast1 Unmanaged.erf__t

erf_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
erf_out_tt = cast2 Unmanaged.erf_out_tt

erfc_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
erfc_t = cast1 Unmanaged.erfc_t

erfc__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
erfc__t = cast1 Unmanaged.erfc__t

erfc_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
erfc_out_tt = cast2 Unmanaged.erfc_out_tt

exp_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
exp_t = cast1 Unmanaged.exp_t

exp__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
exp__t = cast1 Unmanaged.exp__t

exp_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
exp_out_tt = cast2 Unmanaged.exp_out_tt

expm1_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
expm1_t = cast1 Unmanaged.expm1_t

expm1__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
expm1__t = cast1 Unmanaged.expm1__t

expm1_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
expm1_out_tt = cast2 Unmanaged.expm1_out_tt

eye_lo
  :: Int64
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
eye_lo = cast2 Unmanaged.eye_lo

eye_l
  :: Int64
  -> IO (ForeignPtr Tensor)
eye_l = cast1 Unmanaged.eye_l

eye_llo
  :: Int64
  -> Int64
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
eye_llo = cast3 Unmanaged.eye_llo

eye_ll
  :: Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
eye_ll = cast2 Unmanaged.eye_ll

eye_out_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
eye_out_tl = cast2 Unmanaged.eye_out_tl

eye_out_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
eye_out_tll = cast3 Unmanaged.eye_out_tll

flatten_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
flatten_tll = cast3 Unmanaged.flatten_tll

flatten_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
flatten_tl = cast2 Unmanaged.flatten_tl

flatten_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
flatten_t = cast1 Unmanaged.flatten_t

flatten_tlln
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
flatten_tlln = cast4 Unmanaged.flatten_tlln

flatten_tnnn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ForeignPtr Dimname
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
flatten_tnnn = cast4 Unmanaged.flatten_tnnn

flatten_tNn
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
flatten_tNn = cast3 Unmanaged.flatten_tNn

fill__ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
fill__ts = cast2 Unmanaged.fill__ts

fill__tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
fill__tt = cast2 Unmanaged.fill__tt

floor_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
floor_t = cast1 Unmanaged.floor_t

floor__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
floor__t = cast1 Unmanaged.floor__t

floor_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
floor_out_tt = cast2 Unmanaged.floor_out_tt

frac_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
frac_t = cast1 Unmanaged.frac_t

frac__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
frac__t = cast1 Unmanaged.frac__t

frac_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
frac_out_tt = cast2 Unmanaged.frac_out_tt

full_lsNo
  :: ForeignPtr IntArray
  -> ForeignPtr Scalar
  -> ForeignPtr DimnameList
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
full_lsNo = cast4 Unmanaged.full_lsNo

full_lsN
  :: ForeignPtr IntArray
  -> ForeignPtr Scalar
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
full_lsN = cast3 Unmanaged.full_lsN

full_lso
  :: ForeignPtr IntArray
  -> ForeignPtr Scalar
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
full_lso = cast3 Unmanaged.full_lso

full_ls
  :: ForeignPtr IntArray
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
full_ls = cast2 Unmanaged.full_ls

full_out_tls
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
full_out_tls = cast3 Unmanaged.full_out_tls

full_like_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
full_like_ts = cast2 Unmanaged.full_like_ts

full_like_tso
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
full_like_tso = cast3 Unmanaged.full_like_tso

from_file_sblo
  :: ForeignPtr StdString
  -> CBool
  -> Int64
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
from_file_sblo = cast4 Unmanaged.from_file_sblo

from_file_sbl
  :: ForeignPtr StdString
  -> CBool
  -> Int64
  -> IO (ForeignPtr Tensor)
from_file_sbl = cast3 Unmanaged.from_file_sbl

from_file_sb
  :: ForeignPtr StdString
  -> CBool
  -> IO (ForeignPtr Tensor)
from_file_sb = cast2 Unmanaged.from_file_sb

from_file_s
  :: ForeignPtr StdString
  -> IO (ForeignPtr Tensor)
from_file_s = cast1 Unmanaged.from_file_s

grid_sampler_ttllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
grid_sampler_ttllb = cast5 Unmanaged.grid_sampler_ttllb

grid_sampler_2d_ttllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
grid_sampler_2d_ttllb = cast5 Unmanaged.grid_sampler_2d_ttllb

grid_sampler_2d_backward_tttllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
grid_sampler_2d_backward_tttllb = cast6 Unmanaged.grid_sampler_2d_backward_tttllb

grid_sampler_3d_ttllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
grid_sampler_3d_ttllb = cast5 Unmanaged.grid_sampler_3d_ttllb

grid_sampler_3d_backward_tttllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
grid_sampler_3d_backward_tttllb = cast6 Unmanaged.grid_sampler_3d_backward_tttllb

hann_window_lo
  :: Int64
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
hann_window_lo = cast2 Unmanaged.hann_window_lo

hann_window_l
  :: Int64
  -> IO (ForeignPtr Tensor)
hann_window_l = cast1 Unmanaged.hann_window_l

hann_window_lbo
  :: Int64
  -> CBool
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
hann_window_lbo = cast3 Unmanaged.hann_window_lbo

hann_window_lb
  :: Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
hann_window_lb = cast2 Unmanaged.hann_window_lb

hamming_window_lo
  :: Int64
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
hamming_window_lo = cast2 Unmanaged.hamming_window_lo

hamming_window_l
  :: Int64
  -> IO (ForeignPtr Tensor)
hamming_window_l = cast1 Unmanaged.hamming_window_l

hamming_window_lbo
  :: Int64
  -> CBool
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
hamming_window_lbo = cast3 Unmanaged.hamming_window_lbo

hamming_window_lb
  :: Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
hamming_window_lb = cast2 Unmanaged.hamming_window_lb

hamming_window_lbdo
  :: Int64
  -> CBool
  -> CDouble
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
hamming_window_lbdo = cast4 Unmanaged.hamming_window_lbdo

hamming_window_lbd
  :: Int64
  -> CBool
  -> CDouble
  -> IO (ForeignPtr Tensor)
hamming_window_lbd = cast3 Unmanaged.hamming_window_lbd

hamming_window_lbddo
  :: Int64
  -> CBool
  -> CDouble
  -> CDouble
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
hamming_window_lbddo = cast5 Unmanaged.hamming_window_lbddo

hamming_window_lbdd
  :: Int64
  -> CBool
  -> CDouble
  -> CDouble
  -> IO (ForeignPtr Tensor)
hamming_window_lbdd = cast4 Unmanaged.hamming_window_lbdd

hinge_embedding_loss_ttdl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> Int64
  -> IO (ForeignPtr Tensor)
hinge_embedding_loss_ttdl = cast4 Unmanaged.hinge_embedding_loss_ttdl

hinge_embedding_loss_ttd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
hinge_embedding_loss_ttd = cast3 Unmanaged.hinge_embedding_loss_ttd

hinge_embedding_loss_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
hinge_embedding_loss_tt = cast2 Unmanaged.hinge_embedding_loss_tt

ger_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
ger_tt = cast2 Unmanaged.ger_tt

ger_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
ger_out_ttt = cast3 Unmanaged.ger_out_ttt

group_norm_tlttdb
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> CBool
  -> IO (ForeignPtr Tensor)
group_norm_tlttdb = cast6 Unmanaged.group_norm_tlttdb

group_norm_tlttd
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
group_norm_tlttd = cast5 Unmanaged.group_norm_tlttd

group_norm_tltt
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
group_norm_tltt = cast4 Unmanaged.group_norm_tltt

group_norm_tlt
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
group_norm_tlt = cast3 Unmanaged.group_norm_tlt

group_norm_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
group_norm_tl = cast2 Unmanaged.group_norm_tl

fft_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
fft_tlb = cast3 Unmanaged.fft_tlb

fft_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
fft_tl = cast2 Unmanaged.fft_tl

ifft_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
ifft_tlb = cast3 Unmanaged.ifft_tlb

ifft_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
ifft_tl = cast2 Unmanaged.ifft_tl

rfft_tlbb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
rfft_tlbb = cast4 Unmanaged.rfft_tlbb

rfft_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
rfft_tlb = cast3 Unmanaged.rfft_tlb

rfft_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
rfft_tl = cast2 Unmanaged.rfft_tl

irfft_tlbbl
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> CBool
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
irfft_tlbbl = cast5 Unmanaged.irfft_tlbbl

irfft_tlbb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
irfft_tlbb = cast4 Unmanaged.irfft_tlbb

irfft_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
irfft_tlb = cast3 Unmanaged.irfft_tlb

irfft_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
irfft_tl = cast2 Unmanaged.irfft_tl

_fft_with_size_tlbbblbbl
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> CBool
  -> CBool
  -> ForeignPtr IntArray
  -> CBool
  -> CBool
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
_fft_with_size_tlbbblbbl = cast9 Unmanaged._fft_with_size_tlbbblbbl

_cufft_get_plan_cache_size_l
  :: Int64
  -> IO (Int64)
_cufft_get_plan_cache_size_l = cast1 Unmanaged._cufft_get_plan_cache_size_l

_cufft_get_plan_cache_max_size_l
  :: Int64
  -> IO (Int64)
_cufft_get_plan_cache_max_size_l = cast1 Unmanaged._cufft_get_plan_cache_max_size_l

_cufft_set_plan_cache_max_size_ll
  :: Int64
  -> Int64
  -> IO (())
_cufft_set_plan_cache_max_size_ll = cast2 Unmanaged._cufft_set_plan_cache_max_size_ll

_cufft_clear_plan_cache_l
  :: Int64
  -> IO (())
_cufft_clear_plan_cache_l = cast1 Unmanaged._cufft_clear_plan_cache_l

index_tl
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> IO (ForeignPtr Tensor)
index_tl = cast2 Unmanaged.index_tl

index_copy_tltt
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
index_copy_tltt = cast4 Unmanaged.index_copy_tltt

index_copy_tntt
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
index_copy_tntt = cast4 Unmanaged.index_copy_tntt

index_put__tltb
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
index_put__tltb = cast4 Unmanaged.index_put__tltb

index_put__tlt
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
index_put__tlt = cast3 Unmanaged.index_put__tlt

index_put_tltb
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
index_put_tltb = cast4 Unmanaged.index_put_tltb

index_put_tlt
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
index_put_tlt = cast3 Unmanaged.index_put_tlt

_index_put_impl__tltbb
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> ForeignPtr Tensor
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
_index_put_impl__tltbb = cast5 Unmanaged._index_put_impl__tltbb

_index_put_impl__tltb
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
_index_put_impl__tltb = cast4 Unmanaged._index_put_impl__tltb

_index_put_impl__tlt
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_index_put_impl__tlt = cast3 Unmanaged._index_put_impl__tlt

instance_norm_tttttbddb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CDouble
  -> CDouble
  -> CBool
  -> IO (ForeignPtr Tensor)
instance_norm_tttttbddb = cast9 Unmanaged.instance_norm_tttttbddb

inverse_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
inverse_t = cast1 Unmanaged.inverse_t

inverse_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
inverse_out_tt = cast2 Unmanaged.inverse_out_tt

_inverse_helper_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_inverse_helper_t = cast1 Unmanaged._inverse_helper_t

isclose_ttddb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> CDouble
  -> CBool
  -> IO (ForeignPtr Tensor)
isclose_ttddb = cast5 Unmanaged.isclose_ttddb

isclose_ttdd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> CDouble
  -> IO (ForeignPtr Tensor)
isclose_ttdd = cast4 Unmanaged.isclose_ttdd

isclose_ttd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
isclose_ttd = cast3 Unmanaged.isclose_ttd

isclose_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
isclose_tt = cast2 Unmanaged.isclose_tt

isnan_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
isnan_t = cast1 Unmanaged.isnan_t

is_distributed_t
  :: ForeignPtr Tensor
  -> IO (CBool)
is_distributed_t = cast1 Unmanaged.is_distributed_t

is_floating_point_t
  :: ForeignPtr Tensor
  -> IO (CBool)
is_floating_point_t = cast1 Unmanaged.is_floating_point_t

is_complex_t
  :: ForeignPtr Tensor
  -> IO (CBool)
is_complex_t = cast1 Unmanaged.is_complex_t

is_nonzero_t
  :: ForeignPtr Tensor
  -> IO (CBool)
is_nonzero_t = cast1 Unmanaged.is_nonzero_t

is_same_size_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (CBool)
is_same_size_tt = cast2 Unmanaged.is_same_size_tt

is_signed_t
  :: ForeignPtr Tensor
  -> IO (CBool)
is_signed_t = cast1 Unmanaged.is_signed_t

kl_div_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
kl_div_ttl = cast3 Unmanaged.kl_div_ttl

kl_div_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
kl_div_tt = cast2 Unmanaged.kl_div_tt

kl_div_backward_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
kl_div_backward_tttl = cast4 Unmanaged.kl_div_backward_tttl

kl_div_backward_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
kl_div_backward_ttt = cast3 Unmanaged.kl_div_backward_ttt

kthvalue_tllb
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
kthvalue_tllb = cast4 Unmanaged.kthvalue_tllb

kthvalue_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
kthvalue_tll = cast3 Unmanaged.kthvalue_tll

kthvalue_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
kthvalue_tl = cast2 Unmanaged.kthvalue_tl

kthvalue_out_tttllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
kthvalue_out_tttllb = cast6 Unmanaged.kthvalue_out_tttllb

kthvalue_out_tttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
kthvalue_out_tttll = cast5 Unmanaged.kthvalue_out_tttll

kthvalue_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
kthvalue_out_tttl = cast4 Unmanaged.kthvalue_out_tttl

kthvalue_tlnb
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Dimname
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
kthvalue_tlnb = cast4 Unmanaged.kthvalue_tlnb

kthvalue_tln
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Dimname
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
kthvalue_tln = cast3 Unmanaged.kthvalue_tln

kthvalue_out_tttlnb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Dimname
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
kthvalue_out_tttlnb = cast6 Unmanaged.kthvalue_out_tttlnb

kthvalue_out_tttln
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Dimname
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
kthvalue_out_tttln = cast5 Unmanaged.kthvalue_out_tttln

layer_norm_tlttdb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> CBool
  -> IO (ForeignPtr Tensor)
layer_norm_tlttdb = cast6 Unmanaged.layer_norm_tlttdb

layer_norm_tlttd
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
layer_norm_tlttd = cast5 Unmanaged.layer_norm_tlttd

layer_norm_tltt
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
layer_norm_tltt = cast4 Unmanaged.layer_norm_tltt

layer_norm_tlt
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
layer_norm_tlt = cast3 Unmanaged.layer_norm_tlt

layer_norm_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
layer_norm_tl = cast2 Unmanaged.layer_norm_tl

native_layer_norm_tttlld
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> CDouble
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
native_layer_norm_tttlld = cast6 Unmanaged.native_layer_norm_tttlld

native_layer_norm_backward_tttttlla
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
native_layer_norm_backward_tttttlla = cast8 Unmanaged.native_layer_norm_backward_tttttlla

native_layer_norm_double_backward_ttttttttlla
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
native_layer_norm_double_backward_ttttttttlla = cast11 Unmanaged.native_layer_norm_double_backward_ttttttttlla

linear_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
linear_ttt = cast3 Unmanaged.linear_ttt

linear_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
linear_tt = cast2 Unmanaged.linear_tt

mkldnn_linear_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
mkldnn_linear_ttt = cast3 Unmanaged.mkldnn_linear_ttt

mkldnn_linear_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
mkldnn_linear_tt = cast2 Unmanaged.mkldnn_linear_tt

fbgemm_linear_int8_weight_fp32_activation_ttttsst
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
fbgemm_linear_int8_weight_fp32_activation_ttttsst = cast7 Unmanaged.fbgemm_linear_int8_weight_fp32_activation_ttttsst

fbgemm_linear_int8_weight_ttttsst
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
fbgemm_linear_int8_weight_ttttsst = cast7 Unmanaged.fbgemm_linear_int8_weight_ttttsst

fbgemm_linear_quantize_weight_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,CDouble,Int64)))
fbgemm_linear_quantize_weight_t = cast1 Unmanaged.fbgemm_linear_quantize_weight_t

fbgemm_pack_gemm_matrix_fp16_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
fbgemm_pack_gemm_matrix_fp16_t = cast1 Unmanaged.fbgemm_pack_gemm_matrix_fp16_t

fbgemm_linear_fp16_weight_fp32_activation_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
fbgemm_linear_fp16_weight_fp32_activation_ttt = cast3 Unmanaged.fbgemm_linear_fp16_weight_fp32_activation_ttt

fbgemm_linear_fp16_weight_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
fbgemm_linear_fp16_weight_ttt = cast3 Unmanaged.fbgemm_linear_fp16_weight_ttt

fbgemm_pack_quantized_matrix_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
fbgemm_pack_quantized_matrix_t = cast1 Unmanaged.fbgemm_pack_quantized_matrix_t

fbgemm_pack_quantized_matrix_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
fbgemm_pack_quantized_matrix_tll = cast3 Unmanaged.fbgemm_pack_quantized_matrix_tll

linspace_sslo
  :: ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> Int64
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
linspace_sslo = cast4 Unmanaged.linspace_sslo

linspace_ssl
  :: ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> Int64
  -> IO (ForeignPtr Tensor)
linspace_ssl = cast3 Unmanaged.linspace_ssl

linspace_ss
  :: ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
linspace_ss = cast2 Unmanaged.linspace_ss

linspace_out_tssl
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> Int64
  -> IO (ForeignPtr Tensor)
linspace_out_tssl = cast4 Unmanaged.linspace_out_tssl

linspace_out_tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
linspace_out_tss = cast3 Unmanaged.linspace_out_tss

log_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
log_t = cast1 Unmanaged.log_t

log__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
log__t = cast1 Unmanaged.log__t

log_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
log_out_tt = cast2 Unmanaged.log_out_tt

log10_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
log10_t = cast1 Unmanaged.log10_t

log10__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
log10__t = cast1 Unmanaged.log10__t

log10_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
log10_out_tt = cast2 Unmanaged.log10_out_tt

log1p_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
log1p_t = cast1 Unmanaged.log1p_t

log1p__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
log1p__t = cast1 Unmanaged.log1p__t

log1p_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
log1p_out_tt = cast2 Unmanaged.log1p_out_tt

log2_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
log2_t = cast1 Unmanaged.log2_t

log2__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
log2__t = cast1 Unmanaged.log2__t

log2_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
log2_out_tt = cast2 Unmanaged.log2_out_tt

logdet_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
logdet_t = cast1 Unmanaged.logdet_t

logspace_ssldo
  :: ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> Int64
  -> CDouble
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
logspace_ssldo = cast5 Unmanaged.logspace_ssldo

logspace_ssld
  :: ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> Int64
  -> CDouble
  -> IO (ForeignPtr Tensor)
logspace_ssld = cast4 Unmanaged.logspace_ssld

logspace_ssl
  :: ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> Int64
  -> IO (ForeignPtr Tensor)
logspace_ssl = cast3 Unmanaged.logspace_ssl

logspace_ss
  :: ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
logspace_ss = cast2 Unmanaged.logspace_ss

logspace_out_tssld
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> Int64
  -> CDouble
  -> IO (ForeignPtr Tensor)
logspace_out_tssld = cast5 Unmanaged.logspace_out_tssld

logspace_out_tssl
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> Int64
  -> IO (ForeignPtr Tensor)
logspace_out_tssl = cast4 Unmanaged.logspace_out_tssl

logspace_out_tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
logspace_out_tss = cast3 Unmanaged.logspace_out_tss

log_softmax_tls
  :: ForeignPtr Tensor
  -> Int64
  -> ScalarType
  -> IO (ForeignPtr Tensor)
log_softmax_tls = cast3 Unmanaged.log_softmax_tls

log_softmax_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
log_softmax_tl = cast2 Unmanaged.log_softmax_tl

log_softmax_tns
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ScalarType
  -> IO (ForeignPtr Tensor)
log_softmax_tns = cast3 Unmanaged.log_softmax_tns

log_softmax_tn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
log_softmax_tn = cast2 Unmanaged.log_softmax_tn

_log_softmax_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
_log_softmax_tlb = cast3 Unmanaged._log_softmax_tlb

_log_softmax_backward_data_ttlt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_log_softmax_backward_data_ttlt = cast4 Unmanaged._log_softmax_backward_data_ttlt

logsumexp_tlb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
logsumexp_tlb = cast3 Unmanaged.logsumexp_tlb

logsumexp_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
logsumexp_tl = cast2 Unmanaged.logsumexp_tl

logsumexp_out_ttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
logsumexp_out_ttlb = cast4 Unmanaged.logsumexp_out_ttlb

logsumexp_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
logsumexp_out_ttl = cast3 Unmanaged.logsumexp_out_ttl

logsumexp_tNb
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> IO (ForeignPtr Tensor)
logsumexp_tNb = cast3 Unmanaged.logsumexp_tNb

logsumexp_tN
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
logsumexp_tN = cast2 Unmanaged.logsumexp_tN

logsumexp_out_ttNb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> IO (ForeignPtr Tensor)
logsumexp_out_ttNb = cast4 Unmanaged.logsumexp_out_ttNb

logsumexp_out_ttN
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
logsumexp_out_ttN = cast3 Unmanaged.logsumexp_out_ttN

margin_ranking_loss_tttdl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> Int64
  -> IO (ForeignPtr Tensor)
margin_ranking_loss_tttdl = cast5 Unmanaged.margin_ranking_loss_tttdl

margin_ranking_loss_tttd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
margin_ranking_loss_tttd = cast4 Unmanaged.margin_ranking_loss_tttd

margin_ranking_loss_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
margin_ranking_loss_ttt = cast3 Unmanaged.margin_ranking_loss_ttt

matmul_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
matmul_tt = cast2 Unmanaged.matmul_tt

matmul_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
matmul_out_ttt = cast3 Unmanaged.matmul_out_ttt

matrix_rank_tdb
  :: ForeignPtr Tensor
  -> CDouble
  -> CBool
  -> IO (ForeignPtr Tensor)
matrix_rank_tdb = cast3 Unmanaged.matrix_rank_tdb

matrix_rank_td
  :: ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
matrix_rank_td = cast2 Unmanaged.matrix_rank_td

matrix_rank_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
matrix_rank_tb = cast2 Unmanaged.matrix_rank_tb

matrix_rank_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
matrix_rank_t = cast1 Unmanaged.matrix_rank_t

matrix_power_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
matrix_power_tl = cast2 Unmanaged.matrix_power_tl

max_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_tlb = cast3 Unmanaged.max_tlb

max_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_tl = cast2 Unmanaged.max_tl

max_out_tttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_out_tttlb = cast5 Unmanaged.max_out_tttlb

max_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_out_tttl = cast4 Unmanaged.max_out_tttl

max_values_tlb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
max_values_tlb = cast3 Unmanaged.max_values_tlb

max_values_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
max_values_tl = cast2 Unmanaged.max_values_tl

max_tnb
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_tnb = cast3 Unmanaged.max_tnb

max_tn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_tn = cast2 Unmanaged.max_tn

max_out_tttnb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_out_tttnb = cast5 Unmanaged.max_out_tttnb

max_out_tttn
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_out_tttn = cast4 Unmanaged.max_out_tttn

max_values_tNb
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> IO (ForeignPtr Tensor)
max_values_tNb = cast3 Unmanaged.max_values_tNb

max_values_tN
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
max_values_tN = cast2 Unmanaged.max_values_tN

max_pool1d_with_indices_tllllb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool1d_with_indices_tllllb = cast6 Unmanaged.max_pool1d_with_indices_tllllb

max_pool1d_with_indices_tllll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool1d_with_indices_tllll = cast5 Unmanaged.max_pool1d_with_indices_tllll

max_pool1d_with_indices_tlll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool1d_with_indices_tlll = cast4 Unmanaged.max_pool1d_with_indices_tlll

max_pool1d_with_indices_tll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool1d_with_indices_tll = cast3 Unmanaged.max_pool1d_with_indices_tll

max_pool1d_with_indices_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool1d_with_indices_tl = cast2 Unmanaged.max_pool1d_with_indices_tl

max_pool1d_tllllb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
max_pool1d_tllllb = cast6 Unmanaged.max_pool1d_tllllb

max_pool1d_tllll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
max_pool1d_tllll = cast5 Unmanaged.max_pool1d_tllll

max_pool1d_tlll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
max_pool1d_tlll = cast4 Unmanaged.max_pool1d_tlll

max_pool1d_tll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
max_pool1d_tll = cast3 Unmanaged.max_pool1d_tll

max_pool1d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
max_pool1d_tl = cast2 Unmanaged.max_pool1d_tl

max_pool2d_tllllb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
max_pool2d_tllllb = cast6 Unmanaged.max_pool2d_tllllb

max_pool2d_tllll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
max_pool2d_tllll = cast5 Unmanaged.max_pool2d_tllll

max_pool2d_tlll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
max_pool2d_tlll = cast4 Unmanaged.max_pool2d_tlll

max_pool2d_tll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
max_pool2d_tll = cast3 Unmanaged.max_pool2d_tll

max_pool2d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
max_pool2d_tl = cast2 Unmanaged.max_pool2d_tl

mkldnn_max_pool2d_tllllb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
mkldnn_max_pool2d_tllllb = cast6 Unmanaged.mkldnn_max_pool2d_tllllb

mkldnn_max_pool2d_tllll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
mkldnn_max_pool2d_tllll = cast5 Unmanaged.mkldnn_max_pool2d_tllll

mkldnn_max_pool2d_tlll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
mkldnn_max_pool2d_tlll = cast4 Unmanaged.mkldnn_max_pool2d_tlll

mkldnn_max_pool2d_tll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
mkldnn_max_pool2d_tll = cast3 Unmanaged.mkldnn_max_pool2d_tll

mkldnn_max_pool2d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
mkldnn_max_pool2d_tl = cast2 Unmanaged.mkldnn_max_pool2d_tl

quantized_max_pool2d_tllllb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
quantized_max_pool2d_tllllb = cast6 Unmanaged.quantized_max_pool2d_tllllb

quantized_max_pool2d_tllll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
quantized_max_pool2d_tllll = cast5 Unmanaged.quantized_max_pool2d_tllll

quantized_max_pool2d_tlll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
quantized_max_pool2d_tlll = cast4 Unmanaged.quantized_max_pool2d_tlll

quantized_max_pool2d_tll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
quantized_max_pool2d_tll = cast3 Unmanaged.quantized_max_pool2d_tll

quantized_max_pool2d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
quantized_max_pool2d_tl = cast2 Unmanaged.quantized_max_pool2d_tl

max_pool3d_tllllb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
max_pool3d_tllllb = cast6 Unmanaged.max_pool3d_tllllb

max_pool3d_tllll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
max_pool3d_tllll = cast5 Unmanaged.max_pool3d_tllll

max_pool3d_tlll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
max_pool3d_tlll = cast4 Unmanaged.max_pool3d_tlll

max_pool3d_tll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
max_pool3d_tll = cast3 Unmanaged.max_pool3d_tll

max_pool3d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
max_pool3d_tl = cast2 Unmanaged.max_pool3d_tl

mean_ts
  :: ForeignPtr Tensor
  -> ScalarType
  -> IO (ForeignPtr Tensor)
mean_ts = cast2 Unmanaged.mean_ts

mean_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
mean_t = cast1 Unmanaged.mean_t

mean_tlbs
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> ScalarType
  -> IO (ForeignPtr Tensor)
mean_tlbs = cast4 Unmanaged.mean_tlbs

mean_tlb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
mean_tlb = cast3 Unmanaged.mean_tlb

mean_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
mean_tl = cast2 Unmanaged.mean_tl

mean_out_ttlbs
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> ScalarType
  -> IO (ForeignPtr Tensor)
mean_out_ttlbs = cast5 Unmanaged.mean_out_ttlbs

mean_out_ttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
mean_out_ttlb = cast4 Unmanaged.mean_out_ttlb

mean_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
mean_out_ttl = cast3 Unmanaged.mean_out_ttl

mean_tNbs
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> ScalarType
  -> IO (ForeignPtr Tensor)
mean_tNbs = cast4 Unmanaged.mean_tNbs

mean_tNb
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> IO (ForeignPtr Tensor)
mean_tNb = cast3 Unmanaged.mean_tNb

mean_tN
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
mean_tN = cast2 Unmanaged.mean_tN

mean_out_ttNbs
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> ScalarType
  -> IO (ForeignPtr Tensor)
mean_out_ttNbs = cast5 Unmanaged.mean_out_ttNbs

mean_out_ttNb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> IO (ForeignPtr Tensor)
mean_out_ttNb = cast4 Unmanaged.mean_out_ttNb

mean_out_ttN
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
mean_out_ttN = cast3 Unmanaged.mean_out_ttN

median_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
median_tlb = cast3 Unmanaged.median_tlb

median_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
median_tl = cast2 Unmanaged.median_tl

median_out_tttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
median_out_tttlb = cast5 Unmanaged.median_out_tttlb

median_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
median_out_tttl = cast4 Unmanaged.median_out_tttl

median_tnb
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
median_tnb = cast3 Unmanaged.median_tnb

median_tn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
median_tn = cast2 Unmanaged.median_tn

median_out_tttnb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
median_out_tttnb = cast5 Unmanaged.median_out_tttnb

median_out_tttn
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
median_out_tttn = cast4 Unmanaged.median_out_tttn

min_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
min_tlb = cast3 Unmanaged.min_tlb

min_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
min_tl = cast2 Unmanaged.min_tl

min_out_tttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
min_out_tttlb = cast5 Unmanaged.min_out_tttlb

min_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
min_out_tttl = cast4 Unmanaged.min_out_tttl

min_values_tlb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
min_values_tlb = cast3 Unmanaged.min_values_tlb

min_values_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
min_values_tl = cast2 Unmanaged.min_values_tl

min_tnb
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
min_tnb = cast3 Unmanaged.min_tnb

min_tn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
min_tn = cast2 Unmanaged.min_tn

min_out_tttnb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
min_out_tttnb = cast5 Unmanaged.min_out_tttnb

min_out_tttn
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
min_out_tttn = cast4 Unmanaged.min_out_tttn

min_values_tNb
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> IO (ForeignPtr Tensor)
min_values_tNb = cast3 Unmanaged.min_values_tNb

min_values_tN
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
min_values_tN = cast2 Unmanaged.min_values_tN

mkldnn_convolution_tttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
mkldnn_convolution_tttllll = cast7 Unmanaged.mkldnn_convolution_tttllll

mkldnn_convolution_backward_input_lttllllb
  :: ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
mkldnn_convolution_backward_input_lttllllb = cast8 Unmanaged.mkldnn_convolution_backward_input_lttllllb

mkldnn_convolution_backward_weights_lttllllb
  :: ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
mkldnn_convolution_backward_weights_lttllllb = cast8 Unmanaged.mkldnn_convolution_backward_weights_lttllllb

mkldnn_convolution_backward_tttlllla
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
mkldnn_convolution_backward_tttlllla = cast8 Unmanaged.mkldnn_convolution_backward_tttlllla

miopen_batch_norm_tttttbdd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CDouble
  -> CDouble
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
miopen_batch_norm_tttttbdd = cast8 Unmanaged.miopen_batch_norm_tttttbdd

miopen_batch_norm_backward_tttttttd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
miopen_batch_norm_backward_tttttttd = cast8 Unmanaged.miopen_batch_norm_backward_tttttttd

miopen_convolution_tttllllbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
miopen_convolution_tttllllbb = cast9 Unmanaged.miopen_convolution_tttllllbb

miopen_convolution_backward_input_lttllllbb
  :: ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
miopen_convolution_backward_input_lttllllbb = cast9 Unmanaged.miopen_convolution_backward_input_lttllllbb

miopen_convolution_backward_tttllllbba
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
miopen_convolution_backward_tttllllbba = cast10 Unmanaged.miopen_convolution_backward_tttllllbba

miopen_convolution_backward_bias_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
miopen_convolution_backward_bias_t = cast1 Unmanaged.miopen_convolution_backward_bias_t

miopen_convolution_backward_weight_lttllllbb
  :: ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
miopen_convolution_backward_weight_lttllllbb = cast9 Unmanaged.miopen_convolution_backward_weight_lttllllbb

miopen_convolution_transpose_tttlllllbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
miopen_convolution_transpose_tttlllllbb = cast10 Unmanaged.miopen_convolution_transpose_tttlllllbb

miopen_convolution_transpose_backward_tttlllllbba
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
miopen_convolution_transpose_backward_tttlllllbba = cast11 Unmanaged.miopen_convolution_transpose_backward_tttlllllbba

miopen_convolution_transpose_backward_input_ttllllbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
miopen_convolution_transpose_backward_input_ttllllbb = cast8 Unmanaged.miopen_convolution_transpose_backward_input_ttllllbb

miopen_convolution_transpose_backward_weight_lttllllbb
  :: ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
miopen_convolution_transpose_backward_weight_lttllllbb = cast9 Unmanaged.miopen_convolution_transpose_backward_weight_lttllllbb

miopen_depthwise_convolution_tttllllbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
miopen_depthwise_convolution_tttllllbb = cast9 Unmanaged.miopen_depthwise_convolution_tttllllbb

miopen_depthwise_convolution_backward_input_lttllllbb
  :: ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
miopen_depthwise_convolution_backward_input_lttllllbb = cast9 Unmanaged.miopen_depthwise_convolution_backward_input_lttllllbb

miopen_depthwise_convolution_backward_tttllllbba
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
miopen_depthwise_convolution_backward_tttllllbba = cast10 Unmanaged.miopen_depthwise_convolution_backward_tttllllbba

miopen_depthwise_convolution_backward_weight_lttllllbb
  :: ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
miopen_depthwise_convolution_backward_weight_lttllllbb = cast9 Unmanaged.miopen_depthwise_convolution_backward_weight_lttllllbb

miopen_rnn_tllttlllbdbblt
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> Int64
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> CBool
  -> CDouble
  -> CBool
  -> CBool
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor)))
miopen_rnn_tllttlllbdbblt = cast14 Unmanaged.miopen_rnn_tllttlllbdbblt

miopen_rnn_backward_tlltttttttlllbdbbltta
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> Int64
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> CBool
  -> CDouble
  -> CBool
  -> CBool
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr (StdArray '(CBool,4))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor,TensorList)))
miopen_rnn_backward_tlltttttttlllbdbbltta = cast21 Unmanaged.miopen_rnn_backward_tlltttttttlllbdbbltta

mm_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
mm_tt = cast2 Unmanaged.mm_tt

mm_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
mm_out_ttt = cast3 Unmanaged.mm_out_ttt

_sparse_mm_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_sparse_mm_tt = cast2 Unmanaged._sparse_mm_tt

mode_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
mode_tlb = cast3 Unmanaged.mode_tlb

mode_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
mode_tl = cast2 Unmanaged.mode_tl

mode_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
mode_t = cast1 Unmanaged.mode_t

mode_out_tttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
mode_out_tttlb = cast5 Unmanaged.mode_out_tttlb

mode_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
mode_out_tttl = cast4 Unmanaged.mode_out_tttl

mode_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
mode_out_ttt = cast3 Unmanaged.mode_out_ttt

mode_tnb
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
mode_tnb = cast3 Unmanaged.mode_tnb

mode_tn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
mode_tn = cast2 Unmanaged.mode_tn

mode_out_tttnb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
mode_out_tttnb = cast5 Unmanaged.mode_out_tttnb

mode_out_tttn
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
mode_out_tttn = cast4 Unmanaged.mode_out_tttn

mul_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
mul_tt = cast2 Unmanaged.mul_tt

mul_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
mul_out_ttt = cast3 Unmanaged.mul_out_ttt

mul_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
mul_ts = cast2 Unmanaged.mul_ts

mv_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
mv_tt = cast2 Unmanaged.mv_tt

mv_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
mv_out_ttt = cast3 Unmanaged.mv_out_ttt

mvlgamma_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
mvlgamma_tl = cast2 Unmanaged.mvlgamma_tl

narrow_tlll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
narrow_tlll = cast4 Unmanaged.narrow_tlll

native_batch_norm_tttttbdd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CDouble
  -> CDouble
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
native_batch_norm_tttttbdd = cast8 Unmanaged.native_batch_norm_tttttbdd

batch_norm_stats_td
  :: ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
batch_norm_stats_td = cast2 Unmanaged.batch_norm_stats_td

batch_norm_elemt_tttttd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
batch_norm_elemt_tttttd = cast6 Unmanaged.batch_norm_elemt_tttttd

batch_norm_gather_stats_tttttddl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> CDouble
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
batch_norm_gather_stats_tttttddl = cast8 Unmanaged.batch_norm_gather_stats_tttttddl

batch_norm_gather_stats_with_counts_tttttddl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> CDouble
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
batch_norm_gather_stats_with_counts_tttttddl = cast8 Unmanaged.batch_norm_gather_stats_with_counts_tttttddl

native_batch_norm_backward_tttttttbda
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CDouble
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
native_batch_norm_backward_tttttttbda = cast10 Unmanaged.native_batch_norm_backward_tttttttbda

batch_norm_backward_reduce_tttttbbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor,Tensor)))
batch_norm_backward_reduce_tttttbbb = cast8 Unmanaged.batch_norm_backward_reduce_tttttbbb

batch_norm_backward_elemt_ttttttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
batch_norm_backward_elemt_ttttttt = cast7 Unmanaged.batch_norm_backward_elemt_ttttttt

batch_norm_update_stats_tttd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
batch_norm_update_stats_tttd = cast4 Unmanaged.batch_norm_update_stats_tttd

_nnpack_spatial_convolution_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
_nnpack_spatial_convolution_tttl = cast4 Unmanaged._nnpack_spatial_convolution_tttl

_nnpack_spatial_convolution_backward_tttla
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
_nnpack_spatial_convolution_backward_tttla = cast5 Unmanaged._nnpack_spatial_convolution_backward_tttla

_nnpack_spatial_convolution_backward_input_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
_nnpack_spatial_convolution_backward_input_tttl = cast4 Unmanaged._nnpack_spatial_convolution_backward_input_tttl

_nnpack_spatial_convolution_backward_weight_tltl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
_nnpack_spatial_convolution_backward_weight_tltl = cast4 Unmanaged._nnpack_spatial_convolution_backward_weight_tltl

ones_lNo
  :: ForeignPtr IntArray
  -> ForeignPtr DimnameList
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
ones_lNo = cast3 Unmanaged.ones_lNo

ones_lN
  :: ForeignPtr IntArray
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
ones_lN = cast2 Unmanaged.ones_lN

ones_lo
  :: ForeignPtr IntArray
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
ones_lo = cast2 Unmanaged.ones_lo

ones_l
  :: ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
ones_l = cast1 Unmanaged.ones_l

ones_out_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
ones_out_tl = cast2 Unmanaged.ones_out_tl

ones_like_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
ones_like_t = cast1 Unmanaged.ones_like_t

ones_like_to
  :: ForeignPtr Tensor
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
ones_like_to = cast2 Unmanaged.ones_like_to

pairwise_distance_ttddb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> CDouble
  -> CBool
  -> IO (ForeignPtr Tensor)
pairwise_distance_ttddb = cast5 Unmanaged.pairwise_distance_ttddb

pairwise_distance_ttdd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> CDouble
  -> IO (ForeignPtr Tensor)
pairwise_distance_ttdd = cast4 Unmanaged.pairwise_distance_ttdd

pairwise_distance_ttd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
pairwise_distance_ttd = cast3 Unmanaged.pairwise_distance_ttd

pairwise_distance_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
pairwise_distance_tt = cast2 Unmanaged.pairwise_distance_tt

cdist_ttd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
cdist_ttd = cast3 Unmanaged.cdist_ttd

cdist_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cdist_tt = cast2 Unmanaged.cdist_tt

_cdist_backward_tttdt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_cdist_backward_tttdt = cast5 Unmanaged._cdist_backward_tttdt

pdist_td
  :: ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
pdist_td = cast2 Unmanaged.pdist_td

pdist_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
pdist_t = cast1 Unmanaged.pdist_t

_pdist_forward_td
  :: ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
_pdist_forward_td = cast2 Unmanaged._pdist_forward_td

_pdist_forward_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_pdist_forward_t = cast1 Unmanaged._pdist_forward_t

_pdist_backward_ttdt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_pdist_backward_ttdt = cast4 Unmanaged._pdist_backward_ttdt

cosine_similarity_ttld
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CDouble
  -> IO (ForeignPtr Tensor)
cosine_similarity_ttld = cast4 Unmanaged.cosine_similarity_ttld

cosine_similarity_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
cosine_similarity_ttl = cast3 Unmanaged.cosine_similarity_ttl

cosine_similarity_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cosine_similarity_tt = cast2 Unmanaged.cosine_similarity_tt

pixel_shuffle_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
pixel_shuffle_tl = cast2 Unmanaged.pixel_shuffle_tl

pinverse_td
  :: ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
pinverse_td = cast2 Unmanaged.pinverse_td

pinverse_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
pinverse_t = cast1 Unmanaged.pinverse_t

poisson_nll_loss_ttbbdl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CBool
  -> CDouble
  -> Int64
  -> IO (ForeignPtr Tensor)
poisson_nll_loss_ttbbdl = cast6 Unmanaged.poisson_nll_loss_ttbbdl

scalar_tensor_so
  :: ForeignPtr Scalar
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
scalar_tensor_so = cast2 Unmanaged.scalar_tensor_so

scalar_tensor_s
  :: ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
scalar_tensor_s = cast1 Unmanaged.scalar_tensor_s

rand_lNo
  :: ForeignPtr IntArray
  -> ForeignPtr DimnameList
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
rand_lNo = cast3 Unmanaged.rand_lNo

rand_lN
  :: ForeignPtr IntArray
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
rand_lN = cast2 Unmanaged.rand_lN

rand_lpNo
  :: ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr DimnameList
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
rand_lpNo = cast4 Unmanaged.rand_lpNo

rand_lpN
  :: ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
rand_lpN = cast3 Unmanaged.rand_lpN

rand_lo
  :: ForeignPtr IntArray
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
rand_lo = cast2 Unmanaged.rand_lo

rand_l
  :: ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
rand_l = cast1 Unmanaged.rand_l

rand_lpo
  :: ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
rand_lpo = cast3 Unmanaged.rand_lpo

rand_lp
  :: ForeignPtr IntArray
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
rand_lp = cast2 Unmanaged.rand_lp

rand_out_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
rand_out_tl = cast2 Unmanaged.rand_out_tl

rand_out_tlp
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
rand_out_tlp = cast3 Unmanaged.rand_out_tlp

rand_like_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
rand_like_t = cast1 Unmanaged.rand_like_t

rand_like_to
  :: ForeignPtr Tensor
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
rand_like_to = cast2 Unmanaged.rand_like_to

randint_llo
  :: Int64
  -> ForeignPtr IntArray
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randint_llo = cast3 Unmanaged.randint_llo

randint_ll
  :: Int64
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
randint_ll = cast2 Unmanaged.randint_ll

randint_llpo
  :: Int64
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randint_llpo = cast4 Unmanaged.randint_llpo

randint_llp
  :: Int64
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
randint_llp = cast3 Unmanaged.randint_llp

randint_lllo
  :: Int64
  -> Int64
  -> ForeignPtr IntArray
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randint_lllo = cast4 Unmanaged.randint_lllo

randint_lll
  :: Int64
  -> Int64
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
randint_lll = cast3 Unmanaged.randint_lll

randint_lllpo
  :: Int64
  -> Int64
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randint_lllpo = cast5 Unmanaged.randint_lllpo

randint_lllp
  :: Int64
  -> Int64
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
randint_lllp = cast4 Unmanaged.randint_lllp

randint_out_tll
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
randint_out_tll = cast3 Unmanaged.randint_out_tll

randint_out_tllp
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
randint_out_tllp = cast4 Unmanaged.randint_out_tllp

randint_out_tlll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
randint_out_tlll = cast4 Unmanaged.randint_out_tlll

randint_out_tlllp
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
randint_out_tlllp = cast5 Unmanaged.randint_out_tlllp

randint_like_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
randint_like_tl = cast2 Unmanaged.randint_like_tl

randint_like_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
randint_like_tll = cast3 Unmanaged.randint_like_tll

randint_like_tlo
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randint_like_tlo = cast3 Unmanaged.randint_like_tlo

randint_like_tllo
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randint_like_tllo = cast4 Unmanaged.randint_like_tllo

randn_lo
  :: ForeignPtr IntArray
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randn_lo = cast2 Unmanaged.randn_lo

randn_l
  :: ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
randn_l = cast1 Unmanaged.randn_l

randn_lpo
  :: ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randn_lpo = cast3 Unmanaged.randn_lpo

randn_lp
  :: ForeignPtr IntArray
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
randn_lp = cast2 Unmanaged.randn_lp

randn_lNo
  :: ForeignPtr IntArray
  -> ForeignPtr DimnameList
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randn_lNo = cast3 Unmanaged.randn_lNo

randn_lN
  :: ForeignPtr IntArray
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
randn_lN = cast2 Unmanaged.randn_lN

randn_lpNo
  :: ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr DimnameList
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randn_lpNo = cast4 Unmanaged.randn_lpNo

randn_lpN
  :: ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
randn_lpN = cast3 Unmanaged.randn_lpN

randn_out_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
randn_out_tl = cast2 Unmanaged.randn_out_tl

randn_out_tlp
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
randn_out_tlp = cast3 Unmanaged.randn_out_tlp

randn_like_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
randn_like_t = cast1 Unmanaged.randn_like_t

randn_like_to
  :: ForeignPtr Tensor
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randn_like_to = cast2 Unmanaged.randn_like_to

randperm_lo
  :: Int64
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randperm_lo = cast2 Unmanaged.randperm_lo

randperm_l
  :: Int64
  -> IO (ForeignPtr Tensor)
randperm_l = cast1 Unmanaged.randperm_l

randperm_lpo
  :: Int64
  -> ForeignPtr Generator
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
randperm_lpo = cast3 Unmanaged.randperm_lpo

randperm_lp
  :: Int64
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
randperm_lp = cast2 Unmanaged.randperm_lp

randperm_out_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
randperm_out_tl = cast2 Unmanaged.randperm_out_tl

randperm_out_tlp
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
randperm_out_tlp = cast3 Unmanaged.randperm_out_tlp

range_ssso
  :: ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
range_ssso = cast4 Unmanaged.range_ssso

range_sss
  :: ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
range_sss = cast3 Unmanaged.range_sss

-- range_ss
--   :: ForeignPtr Scalar
--   -> ForeignPtr Scalar
--   -> IO (ForeignPtr Tensor)
-- range_ss = cast2 Unmanaged.range_ss

range_sso
  :: ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
range_sso = cast3 Unmanaged.range_sso

range_out_tsss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
range_out_tsss = cast4 Unmanaged.range_out_tsss

range_out_tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
range_out_tss = cast3 Unmanaged.range_out_tss

reciprocal_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
reciprocal_t = cast1 Unmanaged.reciprocal_t

reciprocal__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
reciprocal__t = cast1 Unmanaged.reciprocal__t

reciprocal_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
reciprocal_out_tt = cast2 Unmanaged.reciprocal_out_tt

neg_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
neg_t = cast1 Unmanaged.neg_t

neg__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
neg__t = cast1 Unmanaged.neg__t

neg_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
neg_out_tt = cast2 Unmanaged.neg_out_tt

repeat_interleave_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
repeat_interleave_t = cast1 Unmanaged.repeat_interleave_t

repeat_interleave_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
repeat_interleave_ttl = cast3 Unmanaged.repeat_interleave_ttl

repeat_interleave_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
repeat_interleave_tt = cast2 Unmanaged.repeat_interleave_tt

repeat_interleave_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
repeat_interleave_tll = cast3 Unmanaged.repeat_interleave_tll

repeat_interleave_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
repeat_interleave_tl = cast2 Unmanaged.repeat_interleave_tl

reshape_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
reshape_tl = cast2 Unmanaged.reshape_tl

_mkldnn_reshape_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
_mkldnn_reshape_tl = cast2 Unmanaged._mkldnn_reshape_tl

round_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
round_t = cast1 Unmanaged.round_t

round__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
round__t = cast1 Unmanaged.round__t

round_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
round_out_tt = cast2 Unmanaged.round_out_tt

rrelu_tssbp
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> CBool
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
rrelu_tssbp = cast5 Unmanaged.rrelu_tssbp

rrelu_tssb
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> CBool
  -> IO (ForeignPtr Tensor)
rrelu_tssb = cast4 Unmanaged.rrelu_tssb

rrelu_tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
rrelu_tss = cast3 Unmanaged.rrelu_tss

rrelu_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
rrelu_ts = cast2 Unmanaged.rrelu_ts

rrelu_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
rrelu_t = cast1 Unmanaged.rrelu_t

rrelu__tssbp
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> CBool
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
rrelu__tssbp = cast5 Unmanaged.rrelu__tssbp

rrelu__tssb
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> CBool
  -> IO (ForeignPtr Tensor)
rrelu__tssb = cast4 Unmanaged.rrelu__tssb

rrelu__tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
rrelu__tss = cast3 Unmanaged.rrelu__tss

rrelu__ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
rrelu__ts = cast2 Unmanaged.rrelu__ts

rrelu__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
rrelu__t = cast1 Unmanaged.rrelu__t

relu_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
relu_t = cast1 Unmanaged.relu_t

relu__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
relu__t = cast1 Unmanaged.relu__t

prelu_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
prelu_tt = cast2 Unmanaged.prelu_tt

prelu_backward_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
prelu_backward_ttt = cast3 Unmanaged.prelu_backward_ttt

gelu_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
gelu_t = cast1 Unmanaged.gelu_t

gelu_backward_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
gelu_backward_tt = cast2 Unmanaged.gelu_backward_tt

hardshrink_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
hardshrink_ts = cast2 Unmanaged.hardshrink_ts

hardshrink_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
hardshrink_t = cast1 Unmanaged.hardshrink_t

hardshrink_backward_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
hardshrink_backward_tts = cast3 Unmanaged.hardshrink_backward_tts

rsqrt_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
rsqrt_t = cast1 Unmanaged.rsqrt_t

rsqrt__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
rsqrt__t = cast1 Unmanaged.rsqrt__t

rsqrt_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
rsqrt_out_tt = cast2 Unmanaged.rsqrt_out_tt

select_tnl
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> Int64
  -> IO (ForeignPtr Tensor)
select_tnl = cast3 Unmanaged.select_tnl

select_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
select_tll = cast3 Unmanaged.select_tll

selu_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
selu_t = cast1 Unmanaged.selu_t

selu__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
selu__t = cast1 Unmanaged.selu__t

celu_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
celu_ts = cast2 Unmanaged.celu_ts

celu_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
celu_t = cast1 Unmanaged.celu_t

celu__ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
celu__ts = cast2 Unmanaged.celu__ts

celu__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
celu__t = cast1 Unmanaged.celu__t

sigmoid_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sigmoid_t = cast1 Unmanaged.sigmoid_t

sigmoid__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sigmoid__t = cast1 Unmanaged.sigmoid__t

sigmoid_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sigmoid_out_tt = cast2 Unmanaged.sigmoid_out_tt

sin_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sin_t = cast1 Unmanaged.sin_t

sin__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sin__t = cast1 Unmanaged.sin__t

sin_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sin_out_tt = cast2 Unmanaged.sin_out_tt

sinh_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sinh_t = cast1 Unmanaged.sinh_t

sinh__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sinh__t = cast1 Unmanaged.sinh__t

sinh_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sinh_out_tt = cast2 Unmanaged.sinh_out_tt

detach_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
detach_t = cast1 Unmanaged.detach_t

detach__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
detach__t = cast1 Unmanaged.detach__t

size_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (Int64)
size_tl = cast2 Unmanaged.size_tl

size_tn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (Int64)
size_tn = cast2 Unmanaged.size_tn

slice_tllll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
slice_tllll = cast5 Unmanaged.slice_tllll

slice_tlll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
slice_tlll = cast4 Unmanaged.slice_tlll

slice_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
slice_tll = cast3 Unmanaged.slice_tll

slice_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
slice_tl = cast2 Unmanaged.slice_tl

slice_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
slice_t = cast1 Unmanaged.slice_t

slogdet_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
slogdet_t = cast1 Unmanaged.slogdet_t

smm_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
smm_tt = cast2 Unmanaged.smm_tt

softmax_tls
  :: ForeignPtr Tensor
  -> Int64
  -> ScalarType
  -> IO (ForeignPtr Tensor)
softmax_tls = cast3 Unmanaged.softmax_tls

softmax_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
softmax_tl = cast2 Unmanaged.softmax_tl

softmax_tns
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ScalarType
  -> IO (ForeignPtr Tensor)
softmax_tns = cast3 Unmanaged.softmax_tns

softmax_tn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
softmax_tn = cast2 Unmanaged.softmax_tn

_softmax_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
_softmax_tlb = cast3 Unmanaged._softmax_tlb

_softmax_backward_data_ttlt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_softmax_backward_data_ttlt = cast4 Unmanaged._softmax_backward_data_ttlt

split_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr TensorList)
split_tll = cast3 Unmanaged.split_tll

split_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr TensorList)
split_tl = cast2 Unmanaged.split_tl

split_with_sizes_tll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr TensorList)
split_with_sizes_tll = cast3 Unmanaged.split_with_sizes_tll

split_with_sizes_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr TensorList)
split_with_sizes_tl = cast2 Unmanaged.split_with_sizes_tl

squeeze_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
squeeze_t = cast1 Unmanaged.squeeze_t

squeeze_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
squeeze_tl = cast2 Unmanaged.squeeze_tl

squeeze_tn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
squeeze_tn = cast2 Unmanaged.squeeze_tn

sspaddmm_tttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
sspaddmm_tttss = cast5 Unmanaged.sspaddmm_tttss

sspaddmm_ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
sspaddmm_ttts = cast4 Unmanaged.sspaddmm_ttts

sspaddmm_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sspaddmm_ttt = cast3 Unmanaged.sspaddmm_ttt

sspaddmm_out_ttttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
sspaddmm_out_ttttss = cast6 Unmanaged.sspaddmm_out_ttttss

sspaddmm_out_tttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
sspaddmm_out_tttts = cast5 Unmanaged.sspaddmm_out_tttts

sspaddmm_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sspaddmm_out_tttt = cast4 Unmanaged.sspaddmm_out_tttt

stack_ll
  :: ForeignPtr TensorList
  -> Int64
  -> IO (ForeignPtr Tensor)
stack_ll = cast2 Unmanaged.stack_ll

stack_l
  :: ForeignPtr TensorList
  -> IO (ForeignPtr Tensor)
stack_l = cast1 Unmanaged.stack_l

stack_out_tll
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> Int64
  -> IO (ForeignPtr Tensor)
stack_out_tll = cast3 Unmanaged.stack_out_tll

stack_out_tl
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> IO (ForeignPtr Tensor)
stack_out_tl = cast2 Unmanaged.stack_out_tl

stft_tllltbb
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> ForeignPtr Tensor
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
stft_tllltbb = cast7 Unmanaged.stft_tllltbb

stft_tllltb
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
stft_tllltb = cast6 Unmanaged.stft_tllltb

stft_tlllt
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
stft_tlllt = cast5 Unmanaged.stft_tlllt

stft_tlll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
stft_tlll = cast4 Unmanaged.stft_tlll

stft_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
stft_tll = cast3 Unmanaged.stft_tll

stft_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
stft_tl = cast2 Unmanaged.stft_tl

stride_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (Int64)
stride_tl = cast2 Unmanaged.stride_tl

stride_tn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (Int64)
stride_tn = cast2 Unmanaged.stride_tn

sum_ts
  :: ForeignPtr Tensor
  -> ScalarType
  -> IO (ForeignPtr Tensor)
sum_ts = cast2 Unmanaged.sum_ts

sum_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sum_t = cast1 Unmanaged.sum_t

sum_tlbs
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> ScalarType
  -> IO (ForeignPtr Tensor)
sum_tlbs = cast4 Unmanaged.sum_tlbs

sum_tlb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
sum_tlb = cast3 Unmanaged.sum_tlb

sum_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
sum_tl = cast2 Unmanaged.sum_tl

sum_tNbs
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> ScalarType
  -> IO (ForeignPtr Tensor)
sum_tNbs = cast4 Unmanaged.sum_tNbs

sum_tNb
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> IO (ForeignPtr Tensor)
sum_tNb = cast3 Unmanaged.sum_tNb

sum_tN
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
sum_tN = cast2 Unmanaged.sum_tN

sum_out_ttlbs
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> ScalarType
  -> IO (ForeignPtr Tensor)
sum_out_ttlbs = cast5 Unmanaged.sum_out_ttlbs

sum_out_ttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
sum_out_ttlb = cast4 Unmanaged.sum_out_ttlb

sum_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
sum_out_ttl = cast3 Unmanaged.sum_out_ttl

sum_out_ttNbs
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> ScalarType
  -> IO (ForeignPtr Tensor)
sum_out_ttNbs = cast5 Unmanaged.sum_out_ttNbs

sum_out_ttNb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> IO (ForeignPtr Tensor)
sum_out_ttNb = cast4 Unmanaged.sum_out_ttNb

sum_out_ttN
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
sum_out_ttN = cast3 Unmanaged.sum_out_ttN

sqrt_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sqrt_t = cast1 Unmanaged.sqrt_t

sqrt__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sqrt__t = cast1 Unmanaged.sqrt__t

sqrt_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sqrt_out_tt = cast2 Unmanaged.sqrt_out_tt

std_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
std_tb = cast2 Unmanaged.std_tb

std_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
std_t = cast1 Unmanaged.std_t

std_tlbb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
std_tlbb = cast4 Unmanaged.std_tlbb

std_tlb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
std_tlb = cast3 Unmanaged.std_tlb

std_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
std_tl = cast2 Unmanaged.std_tl

std_mean_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
std_mean_tb = cast2 Unmanaged.std_mean_tb

std_mean_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
std_mean_t = cast1 Unmanaged.std_mean_t

std_mean_tlbb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
std_mean_tlbb = cast4 Unmanaged.std_mean_tlbb

std_mean_tlb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
std_mean_tlb = cast3 Unmanaged.std_mean_tlb

std_mean_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
std_mean_tl = cast2 Unmanaged.std_mean_tl

std_mean_tNbb
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
std_mean_tNbb = cast4 Unmanaged.std_mean_tNbb

std_mean_tNb
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
std_mean_tNb = cast3 Unmanaged.std_mean_tNb

std_mean_tN
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
std_mean_tN = cast2 Unmanaged.std_mean_tN

std_out_ttlbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
std_out_ttlbb = cast5 Unmanaged.std_out_ttlbb

std_out_ttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
std_out_ttlb = cast4 Unmanaged.std_out_ttlb

std_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
std_out_ttl = cast3 Unmanaged.std_out_ttl

std_tNbb
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
std_tNbb = cast4 Unmanaged.std_tNbb

std_tNb
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> IO (ForeignPtr Tensor)
std_tNb = cast3 Unmanaged.std_tNb

std_tN
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
std_tN = cast2 Unmanaged.std_tN

std_out_ttNbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
std_out_ttNbb = cast5 Unmanaged.std_out_ttNbb

std_out_ttNb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> IO (ForeignPtr Tensor)
std_out_ttNb = cast4 Unmanaged.std_out_ttNb

std_out_ttN
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
std_out_ttN = cast3 Unmanaged.std_out_ttN

prod_ts
  :: ForeignPtr Tensor
  -> ScalarType
  -> IO (ForeignPtr Tensor)
prod_ts = cast2 Unmanaged.prod_ts

prod_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
prod_t = cast1 Unmanaged.prod_t

prod_tlbs
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> ScalarType
  -> IO (ForeignPtr Tensor)
prod_tlbs = cast4 Unmanaged.prod_tlbs

prod_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
prod_tlb = cast3 Unmanaged.prod_tlb

prod_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
prod_tl = cast2 Unmanaged.prod_tl

prod_out_ttlbs
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> ScalarType
  -> IO (ForeignPtr Tensor)
prod_out_ttlbs = cast5 Unmanaged.prod_out_ttlbs

prod_out_ttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
prod_out_ttlb = cast4 Unmanaged.prod_out_ttlb

prod_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
prod_out_ttl = cast3 Unmanaged.prod_out_ttl

prod_tnbs
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> CBool
  -> ScalarType
  -> IO (ForeignPtr Tensor)
prod_tnbs = cast4 Unmanaged.prod_tnbs

prod_tnb
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> CBool
  -> IO (ForeignPtr Tensor)
prod_tnb = cast3 Unmanaged.prod_tnb

prod_tn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
prod_tn = cast2 Unmanaged.prod_tn

prod_out_ttnbs
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> CBool
  -> ScalarType
  -> IO (ForeignPtr Tensor)
prod_out_ttnbs = cast5 Unmanaged.prod_out_ttnbs

prod_out_ttnb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> CBool
  -> IO (ForeignPtr Tensor)
prod_out_ttnb = cast4 Unmanaged.prod_out_ttnb

prod_out_ttn
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
prod_out_ttn = cast3 Unmanaged.prod_out_ttn

t_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
t_t = cast1 Unmanaged.t_t

tan_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
tan_t = cast1 Unmanaged.tan_t

tan__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
tan__t = cast1 Unmanaged.tan__t

tan_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
tan_out_tt = cast2 Unmanaged.tan_out_tt

tanh_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
tanh_t = cast1 Unmanaged.tanh_t

tanh__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
tanh__t = cast1 Unmanaged.tanh__t

tanh_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
tanh_out_tt = cast2 Unmanaged.tanh_out_tt

tensordot_ttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
tensordot_ttll = cast4 Unmanaged.tensordot_ttll

threshold_tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
threshold_tss = cast3 Unmanaged.threshold_tss

threshold__tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
threshold__tss = cast3 Unmanaged.threshold__tss

threshold_out_ttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
threshold_out_ttss = cast4 Unmanaged.threshold_out_ttss

threshold_backward_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
threshold_backward_tts = cast3 Unmanaged.threshold_backward_tts

transpose_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
transpose_tll = cast3 Unmanaged.transpose_tll

transpose_tnn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
transpose_tnn = cast3 Unmanaged.transpose_tnn

_mkldnn_transpose_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
_mkldnn_transpose_tll = cast3 Unmanaged._mkldnn_transpose_tll

_mkldnn_transpose__tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
_mkldnn_transpose__tll = cast3 Unmanaged._mkldnn_transpose__tll

one_hot_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
one_hot_tl = cast2 Unmanaged.one_hot_tl

one_hot_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
one_hot_t = cast1 Unmanaged.one_hot_t

flip_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
flip_tl = cast2 Unmanaged.flip_tl

roll_tll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
roll_tll = cast3 Unmanaged.roll_tll

roll_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
roll_tl = cast2 Unmanaged.roll_tl

rot90_tll
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
rot90_tll = cast3 Unmanaged.rot90_tll

rot90_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
rot90_tl = cast2 Unmanaged.rot90_tl

rot90_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
rot90_t = cast1 Unmanaged.rot90_t

trapz_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
trapz_ttl = cast3 Unmanaged.trapz_ttl

trapz_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
trapz_tt = cast2 Unmanaged.trapz_tt

trapz_tdl
  :: ForeignPtr Tensor
  -> CDouble
  -> Int64
  -> IO (ForeignPtr Tensor)
trapz_tdl = cast3 Unmanaged.trapz_tdl

trapz_td
  :: ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
trapz_td = cast2 Unmanaged.trapz_td

trapz_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
trapz_t = cast1 Unmanaged.trapz_t

_trilinear_tttlllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
_trilinear_tttlllll = cast8 Unmanaged._trilinear_tttlllll

_trilinear_tttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
_trilinear_tttllll = cast7 Unmanaged._trilinear_tttllll

triplet_margin_loss_tttdddbl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> CDouble
  -> CDouble
  -> CBool
  -> Int64
  -> IO (ForeignPtr Tensor)
triplet_margin_loss_tttdddbl = cast8 Unmanaged.triplet_margin_loss_tttdddbl

triplet_margin_loss_tttdddb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> CDouble
  -> CDouble
  -> CBool
  -> IO (ForeignPtr Tensor)
triplet_margin_loss_tttdddb = cast7 Unmanaged.triplet_margin_loss_tttdddb

triplet_margin_loss_tttddd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> CDouble
  -> CDouble
  -> IO (ForeignPtr Tensor)
triplet_margin_loss_tttddd = cast6 Unmanaged.triplet_margin_loss_tttddd

triplet_margin_loss_tttdd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> CDouble
  -> IO (ForeignPtr Tensor)
triplet_margin_loss_tttdd = cast5 Unmanaged.triplet_margin_loss_tttdd

triplet_margin_loss_tttd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
triplet_margin_loss_tttd = cast4 Unmanaged.triplet_margin_loss_tttd

triplet_margin_loss_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
triplet_margin_loss_ttt = cast3 Unmanaged.triplet_margin_loss_ttt

trunc_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
trunc_t = cast1 Unmanaged.trunc_t

trunc__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
trunc__t = cast1 Unmanaged.trunc__t

trunc_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
trunc_out_tt = cast2 Unmanaged.trunc_out_tt

_has_compatible_shallow_copy_type_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (CBool)
_has_compatible_shallow_copy_type_tt = cast2 Unmanaged._has_compatible_shallow_copy_type_tt

_unique_tbb
  :: ForeignPtr Tensor
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_unique_tbb = cast3 Unmanaged._unique_tbb

_unique_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_unique_tb = cast2 Unmanaged._unique_tb

_unique_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_unique_t = cast1 Unmanaged._unique_t

unique_dim_tlbbb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
unique_dim_tlbbb = cast5 Unmanaged.unique_dim_tlbbb

unique_dim_tlbb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
unique_dim_tlbb = cast4 Unmanaged.unique_dim_tlbb

unique_dim_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
unique_dim_tlb = cast3 Unmanaged.unique_dim_tlb

unique_dim_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
unique_dim_tl = cast2 Unmanaged.unique_dim_tl

unique_consecutive_tbbl
  :: ForeignPtr Tensor
  -> CBool
  -> CBool
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
unique_consecutive_tbbl = cast4 Unmanaged.unique_consecutive_tbbl

unique_consecutive_tbb
  :: ForeignPtr Tensor
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
unique_consecutive_tbb = cast3 Unmanaged.unique_consecutive_tbb

unique_consecutive_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
unique_consecutive_tb = cast2 Unmanaged.unique_consecutive_tb

unique_consecutive_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
unique_consecutive_t = cast1 Unmanaged.unique_consecutive_t

unique_dim_consecutive_tlbb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
unique_dim_consecutive_tlbb = cast4 Unmanaged.unique_dim_consecutive_tlbb

unique_dim_consecutive_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
unique_dim_consecutive_tlb = cast3 Unmanaged.unique_dim_consecutive_tlb

unique_dim_consecutive_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
unique_dim_consecutive_tl = cast2 Unmanaged.unique_dim_consecutive_tl

_unique2_tbbb
  :: ForeignPtr Tensor
  -> CBool
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
_unique2_tbbb = cast4 Unmanaged._unique2_tbbb

_unique2_tbb
  :: ForeignPtr Tensor
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
_unique2_tbb = cast3 Unmanaged._unique2_tbb

_unique2_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
_unique2_tb = cast2 Unmanaged._unique2_tb

_unique2_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
_unique2_t = cast1 Unmanaged._unique2_t

_unsafe_view_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
_unsafe_view_tl = cast2 Unmanaged._unsafe_view_tl

unsqueeze_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
unsqueeze_tl = cast2 Unmanaged.unsqueeze_tl

var_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
var_tb = cast2 Unmanaged.var_tb

var_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
var_t = cast1 Unmanaged.var_t

var_tlbb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
var_tlbb = cast4 Unmanaged.var_tlbb

var_tlb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
var_tlb = cast3 Unmanaged.var_tlb

var_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
var_tl = cast2 Unmanaged.var_tl

var_out_ttlbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
var_out_ttlbb = cast5 Unmanaged.var_out_ttlbb

var_out_ttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
var_out_ttlb = cast4 Unmanaged.var_out_ttlb

var_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
var_out_ttl = cast3 Unmanaged.var_out_ttl

var_tNbb
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
var_tNbb = cast4 Unmanaged.var_tNbb

var_tNb
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> IO (ForeignPtr Tensor)
var_tNb = cast3 Unmanaged.var_tNb

var_tN
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
var_tN = cast2 Unmanaged.var_tN

var_out_ttNbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
var_out_ttNbb = cast5 Unmanaged.var_out_ttNbb

var_out_ttNb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> IO (ForeignPtr Tensor)
var_out_ttNb = cast4 Unmanaged.var_out_ttNb

var_out_ttN
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
var_out_ttN = cast3 Unmanaged.var_out_ttN

var_mean_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
var_mean_tb = cast2 Unmanaged.var_mean_tb

var_mean_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
var_mean_t = cast1 Unmanaged.var_mean_t

var_mean_tlbb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
var_mean_tlbb = cast4 Unmanaged.var_mean_tlbb

var_mean_tlb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
var_mean_tlb = cast3 Unmanaged.var_mean_tlb

var_mean_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
var_mean_tl = cast2 Unmanaged.var_mean_tl

var_mean_tNbb
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
var_mean_tNbb = cast4 Unmanaged.var_mean_tNbb

var_mean_tNb
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
var_mean_tNb = cast3 Unmanaged.var_mean_tNb

var_mean_tN
  :: ForeignPtr Tensor
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
var_mean_tN = cast2 Unmanaged.var_mean_tN

where_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
where_ttt = cast3 Unmanaged.where_ttt

where_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr TensorList)
where_t = cast1 Unmanaged.where_t

_s_where_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_s_where_ttt = cast3 Unmanaged._s_where_ttt

norm_except_dim_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
norm_except_dim_tll = cast3 Unmanaged.norm_except_dim_tll

norm_except_dim_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
norm_except_dim_tl = cast2 Unmanaged.norm_except_dim_tl

norm_except_dim_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
norm_except_dim_t = cast1 Unmanaged.norm_except_dim_t

_weight_norm_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
_weight_norm_ttl = cast3 Unmanaged._weight_norm_ttl

_weight_norm_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_weight_norm_tt = cast2 Unmanaged._weight_norm_tt

_weight_norm_cuda_interface_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_weight_norm_cuda_interface_ttl = cast3 Unmanaged._weight_norm_cuda_interface_ttl

_weight_norm_cuda_interface_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_weight_norm_cuda_interface_tt = cast2 Unmanaged._weight_norm_cuda_interface_tt

_weight_norm_cuda_interface_backward_ttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_weight_norm_cuda_interface_backward_ttttl = cast5 Unmanaged._weight_norm_cuda_interface_backward_ttttl

_weight_norm_differentiable_backward_ttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_weight_norm_differentiable_backward_ttttl = cast5 Unmanaged._weight_norm_differentiable_backward_ttttl

zeros_lNo
  :: ForeignPtr IntArray
  -> ForeignPtr DimnameList
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
zeros_lNo = cast3 Unmanaged.zeros_lNo

zeros_lN
  :: ForeignPtr IntArray
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
zeros_lN = cast2 Unmanaged.zeros_lN

zeros_lo
  :: ForeignPtr IntArray
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
zeros_lo = cast2 Unmanaged.zeros_lo

zeros_l
  :: ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
zeros_l = cast1 Unmanaged.zeros_l

zeros_out_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
zeros_out_tl = cast2 Unmanaged.zeros_out_tl

zeros_like_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
zeros_like_t = cast1 Unmanaged.zeros_like_t

zeros_like_to
  :: ForeignPtr Tensor
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
zeros_like_to = cast2 Unmanaged.zeros_like_to

_standard_gamma_grad_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_standard_gamma_grad_tt = cast2 Unmanaged._standard_gamma_grad_tt

_standard_gamma_tp
  :: ForeignPtr Tensor
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
_standard_gamma_tp = cast2 Unmanaged._standard_gamma_tp

_standard_gamma_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_standard_gamma_t = cast1 Unmanaged._standard_gamma_t

_dirichlet_grad_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_dirichlet_grad_ttt = cast3 Unmanaged._dirichlet_grad_ttt

_sample_dirichlet_tp
  :: ForeignPtr Tensor
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
_sample_dirichlet_tp = cast2 Unmanaged._sample_dirichlet_tp

_sample_dirichlet_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_sample_dirichlet_t = cast1 Unmanaged._sample_dirichlet_t

poisson_tp
  :: ForeignPtr Tensor
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
poisson_tp = cast2 Unmanaged.poisson_tp

poisson_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
poisson_t = cast1 Unmanaged.poisson_t

native_norm_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
native_norm_ts = cast2 Unmanaged.native_norm_ts

native_norm_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
native_norm_t = cast1 Unmanaged.native_norm_t

_sparse_sum_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_sparse_sum_t = cast1 Unmanaged._sparse_sum_t

_sparse_sum_ts
  :: ForeignPtr Tensor
  -> ScalarType
  -> IO (ForeignPtr Tensor)
_sparse_sum_ts = cast2 Unmanaged._sparse_sum_ts

_sparse_sum_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
_sparse_sum_tl = cast2 Unmanaged._sparse_sum_tl

_sparse_sum_tls
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ScalarType
  -> IO (ForeignPtr Tensor)
_sparse_sum_tls = cast3 Unmanaged._sparse_sum_tls

_sparse_sum_backward_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
_sparse_sum_backward_ttl = cast3 Unmanaged._sparse_sum_backward_ttl

norm_tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ScalarType
  -> IO (ForeignPtr Tensor)
norm_tss = cast3 Unmanaged.norm_tss

norm_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
norm_ts = cast2 Unmanaged.norm_ts

norm_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
norm_t = cast1 Unmanaged.norm_t

norm_tslbs
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr IntArray
  -> CBool
  -> ScalarType
  -> IO (ForeignPtr Tensor)
norm_tslbs = cast5 Unmanaged.norm_tslbs

norm_tslb
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
norm_tslb = cast4 Unmanaged.norm_tslb

norm_tsl
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
norm_tsl = cast3 Unmanaged.norm_tsl

norm_out_ttslbs
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr IntArray
  -> CBool
  -> ScalarType
  -> IO (ForeignPtr Tensor)
norm_out_ttslbs = cast6 Unmanaged.norm_out_ttslbs

norm_out_ttslb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
norm_out_ttslb = cast5 Unmanaged.norm_out_ttslb

norm_out_ttsl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
norm_out_ttsl = cast4 Unmanaged.norm_out_ttsl

norm_tsNbs
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr DimnameList
  -> CBool
  -> ScalarType
  -> IO (ForeignPtr Tensor)
norm_tsNbs = cast5 Unmanaged.norm_tsNbs

norm_tsNb
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr DimnameList
  -> CBool
  -> IO (ForeignPtr Tensor)
norm_tsNb = cast4 Unmanaged.norm_tsNb

norm_tsN
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
norm_tsN = cast3 Unmanaged.norm_tsN

norm_out_ttsNbs
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr DimnameList
  -> CBool
  -> ScalarType
  -> IO (ForeignPtr Tensor)
norm_out_ttsNbs = cast6 Unmanaged.norm_out_ttsNbs

norm_out_ttsNb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr DimnameList
  -> CBool
  -> IO (ForeignPtr Tensor)
norm_out_ttsNb = cast5 Unmanaged.norm_out_ttsNb

norm_out_ttsN
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr DimnameList
  -> IO (ForeignPtr Tensor)
norm_out_ttsN = cast4 Unmanaged.norm_out_ttsN

frobenius_norm_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
frobenius_norm_t = cast1 Unmanaged.frobenius_norm_t

frobenius_norm_tlb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
frobenius_norm_tlb = cast3 Unmanaged.frobenius_norm_tlb

frobenius_norm_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
frobenius_norm_tl = cast2 Unmanaged.frobenius_norm_tl

frobenius_norm_out_ttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
frobenius_norm_out_ttlb = cast4 Unmanaged.frobenius_norm_out_ttlb

frobenius_norm_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
frobenius_norm_out_ttl = cast3 Unmanaged.frobenius_norm_out_ttl

nuclear_norm_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
nuclear_norm_tb = cast2 Unmanaged.nuclear_norm_tb

nuclear_norm_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
nuclear_norm_t = cast1 Unmanaged.nuclear_norm_t

nuclear_norm_out_ttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
nuclear_norm_out_ttb = cast3 Unmanaged.nuclear_norm_out_ttb

nuclear_norm_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
nuclear_norm_out_tt = cast2 Unmanaged.nuclear_norm_out_tt

nuclear_norm_tlb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
nuclear_norm_tlb = cast3 Unmanaged.nuclear_norm_tlb

nuclear_norm_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
nuclear_norm_tl = cast2 Unmanaged.nuclear_norm_tl

nuclear_norm_out_ttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
nuclear_norm_out_ttlb = cast4 Unmanaged.nuclear_norm_out_ttlb

nuclear_norm_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
nuclear_norm_out_ttl = cast3 Unmanaged.nuclear_norm_out_ttl

clone_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
clone_t = cast1 Unmanaged.clone_t

resize_as__tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
resize_as__tt = cast2 Unmanaged.resize_as__tt

pow_out_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
pow_out_tts = cast3 Unmanaged.pow_out_tts

pow_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
pow_ts = cast2 Unmanaged.pow_ts

zero__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
zero__t = cast1 Unmanaged.zero__t

sub_out_ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
sub_out_ttts = cast4 Unmanaged.sub_out_ttts

sub_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sub_out_ttt = cast3 Unmanaged.sub_out_ttt

sub_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
sub_tts = cast3 Unmanaged.sub_tts

sub_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sub_tt = cast2 Unmanaged.sub_tt

sub_tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
sub_tss = cast3 Unmanaged.sub_tss

sub_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
sub_ts = cast2 Unmanaged.sub_ts

rsub_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
rsub_tts = cast3 Unmanaged.rsub_tts

rsub_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
rsub_tt = cast2 Unmanaged.rsub_tt

rsub_tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
rsub_tss = cast3 Unmanaged.rsub_tss

rsub_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
rsub_ts = cast2 Unmanaged.rsub_ts

_sparse_addmm_tttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
_sparse_addmm_tttss = cast5 Unmanaged._sparse_addmm_tttss

_sparse_addmm_ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
_sparse_addmm_ttts = cast4 Unmanaged._sparse_addmm_ttts

_sparse_addmm_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_sparse_addmm_ttt = cast3 Unmanaged._sparse_addmm_ttt

addmm_out_ttttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addmm_out_ttttss = cast6 Unmanaged.addmm_out_ttttss

addmm_out_tttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addmm_out_tttts = cast5 Unmanaged.addmm_out_tttts

addmm_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
addmm_out_tttt = cast4 Unmanaged.addmm_out_tttt

addmm_tttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addmm_tttss = cast5 Unmanaged.addmm_tttss

addmm_ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addmm_ttts = cast4 Unmanaged.addmm_ttts

addmm_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
addmm_ttt = cast3 Unmanaged.addmm_ttt

sparse_coo_tensor_lo
  :: ForeignPtr IntArray
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
sparse_coo_tensor_lo = cast2 Unmanaged.sparse_coo_tensor_lo

sparse_coo_tensor_tto
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
sparse_coo_tensor_tto = cast3 Unmanaged.sparse_coo_tensor_tto

sparse_coo_tensor_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sparse_coo_tensor_tt = cast2 Unmanaged.sparse_coo_tensor_tt

sparse_coo_tensor_ttlo
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
sparse_coo_tensor_ttlo = cast4 Unmanaged.sparse_coo_tensor_ttlo

sparse_coo_tensor_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
sparse_coo_tensor_ttl = cast3 Unmanaged.sparse_coo_tensor_ttl

_sparse_coo_tensor_unsafe_ttlo
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
_sparse_coo_tensor_unsafe_ttlo = cast4 Unmanaged._sparse_coo_tensor_unsafe_ttlo

_sparse_coo_tensor_unsafe_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
_sparse_coo_tensor_unsafe_ttl = cast3 Unmanaged._sparse_coo_tensor_unsafe_ttl

_sparse_coo_tensor_with_dims_lllo
  :: Int64
  -> Int64
  -> ForeignPtr IntArray
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
_sparse_coo_tensor_with_dims_lllo = cast4 Unmanaged._sparse_coo_tensor_with_dims_lllo

_sparse_coo_tensor_with_dims_and_tensors_llltto
  :: Int64
  -> Int64
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
_sparse_coo_tensor_with_dims_and_tensors_llltto = cast6 Unmanaged._sparse_coo_tensor_with_dims_and_tensors_llltto

to_dense_backward_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
to_dense_backward_tt = cast2 Unmanaged.to_dense_backward_tt

hspmm_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
hspmm_out_ttt = cast3 Unmanaged.hspmm_out_ttt

hspmm_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
hspmm_tt = cast2 Unmanaged.hspmm_tt

copy_sparse_to_sparse__ttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
copy_sparse_to_sparse__ttb = cast3 Unmanaged.copy_sparse_to_sparse__ttb

copy_sparse_to_sparse__tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
copy_sparse_to_sparse__tt = cast2 Unmanaged.copy_sparse_to_sparse__tt

numel_t
  :: ForeignPtr Tensor
  -> IO (Int64)
numel_t = cast1 Unmanaged.numel_t

unbind_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr TensorList)
unbind_tl = cast2 Unmanaged.unbind_tl

unbind_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr TensorList)
unbind_t = cast1 Unmanaged.unbind_t

unbind_tn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr TensorList)
unbind_tn = cast2 Unmanaged.unbind_tn

mkldnn_reorder_conv2d_weight_tllll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> Int64
  -> IO (ForeignPtr Tensor)
mkldnn_reorder_conv2d_weight_tllll = cast5 Unmanaged.mkldnn_reorder_conv2d_weight_tllll

mkldnn_reorder_conv2d_weight_tlll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
mkldnn_reorder_conv2d_weight_tlll = cast4 Unmanaged.mkldnn_reorder_conv2d_weight_tlll

mkldnn_reorder_conv2d_weight_tll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
mkldnn_reorder_conv2d_weight_tll = cast3 Unmanaged.mkldnn_reorder_conv2d_weight_tll

mkldnn_reorder_conv2d_weight_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
mkldnn_reorder_conv2d_weight_tl = cast2 Unmanaged.mkldnn_reorder_conv2d_weight_tl

mkldnn_reorder_conv2d_weight_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
mkldnn_reorder_conv2d_weight_t = cast1 Unmanaged.mkldnn_reorder_conv2d_weight_t

to_mkldnn_backward_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
to_mkldnn_backward_tt = cast2 Unmanaged.to_mkldnn_backward_tt

quantize_per_tensor_tdls
  :: ForeignPtr Tensor
  -> CDouble
  -> Int64
  -> ScalarType
  -> IO (ForeignPtr Tensor)
quantize_per_tensor_tdls = cast4 Unmanaged.quantize_per_tensor_tdls

quantize_per_channel_tttls
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> ScalarType
  -> IO (ForeignPtr Tensor)
quantize_per_channel_tttls = cast5 Unmanaged.quantize_per_channel_tttls

dequantize_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
dequantize_t = cast1 Unmanaged.dequantize_t

q_scale_t
  :: ForeignPtr Tensor
  -> IO (CDouble)
q_scale_t = cast1 Unmanaged.q_scale_t

q_zero_point_t
  :: ForeignPtr Tensor
  -> IO (Int64)
q_zero_point_t = cast1 Unmanaged.q_zero_point_t

q_per_channel_scales_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
q_per_channel_scales_t = cast1 Unmanaged.q_per_channel_scales_t

q_per_channel_zero_points_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
q_per_channel_zero_points_t = cast1 Unmanaged.q_per_channel_zero_points_t

q_per_channel_axis_t
  :: ForeignPtr Tensor
  -> IO (Int64)
q_per_channel_axis_t = cast1 Unmanaged.q_per_channel_axis_t

int_repr_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
int_repr_t = cast1 Unmanaged.int_repr_t

_make_per_tensor_quantized_tensor_tdl
  :: ForeignPtr Tensor
  -> CDouble
  -> Int64
  -> IO (ForeignPtr Tensor)
_make_per_tensor_quantized_tensor_tdl = cast3 Unmanaged._make_per_tensor_quantized_tensor_tdl

_make_per_channel_quantized_tensor_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
_make_per_channel_quantized_tensor_tttl = cast4 Unmanaged._make_per_channel_quantized_tensor_tttl

fake_quantize_per_tensor_affine_tdlll
  :: ForeignPtr Tensor
  -> CDouble
  -> Int64
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
fake_quantize_per_tensor_affine_tdlll = cast5 Unmanaged.fake_quantize_per_tensor_affine_tdlll

fake_quantize_per_tensor_affine_backward_ttdlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> Int64
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
fake_quantize_per_tensor_affine_backward_ttdlll = cast6 Unmanaged.fake_quantize_per_tensor_affine_backward_ttdlll

fake_quantize_per_channel_affine_tttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
fake_quantize_per_channel_affine_tttlll = cast6 Unmanaged.fake_quantize_per_channel_affine_tttlll

fake_quantize_per_channel_affine_backward_ttttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
fake_quantize_per_channel_affine_backward_ttttlll = cast7 Unmanaged.fake_quantize_per_channel_affine_backward_ttttlll

meshgrid_l
  :: ForeignPtr TensorList
  -> IO (ForeignPtr TensorList)
meshgrid_l = cast1 Unmanaged.meshgrid_l

cartesian_prod_l
  :: ForeignPtr TensorList
  -> IO (ForeignPtr Tensor)
cartesian_prod_l = cast1 Unmanaged.cartesian_prod_l

combinations_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
combinations_tlb = cast3 Unmanaged.combinations_tlb

combinations_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
combinations_tl = cast2 Unmanaged.combinations_tl

combinations_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
combinations_t = cast1 Unmanaged.combinations_t

result_type_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ScalarType)
result_type_tt = cast2 Unmanaged.result_type_tt

result_type_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ScalarType)
result_type_ts = cast2 Unmanaged.result_type_ts

result_type_st
  :: ForeignPtr Scalar
  -> ForeignPtr Tensor
  -> IO (ScalarType)
result_type_st = cast2 Unmanaged.result_type_st

result_type_ss
  :: ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ScalarType)
result_type_ss = cast2 Unmanaged.result_type_ss

can_cast_ss
  :: ScalarType
  -> ScalarType
  -> IO (CBool)
can_cast_ss = cast2 Unmanaged.can_cast_ss

promote_types_ss
  :: ScalarType
  -> ScalarType
  -> IO (ScalarType)
promote_types_ss = cast2 Unmanaged.promote_types_ss

_local_scalar_dense_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Scalar)
_local_scalar_dense_t = cast1 Unmanaged._local_scalar_dense_t

_thnn_fused_lstm_cell_ttttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
_thnn_fused_lstm_cell_ttttt = cast5 Unmanaged._thnn_fused_lstm_cell_ttttt

_thnn_fused_lstm_cell_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
_thnn_fused_lstm_cell_tttt = cast4 Unmanaged._thnn_fused_lstm_cell_tttt

_thnn_fused_lstm_cell_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
_thnn_fused_lstm_cell_ttt = cast3 Unmanaged._thnn_fused_lstm_cell_ttt

_thnn_fused_lstm_cell_backward_tttttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor)))
_thnn_fused_lstm_cell_backward_tttttb = cast6 Unmanaged._thnn_fused_lstm_cell_backward_tttttb

_thnn_differentiable_lstm_cell_backward_tttttttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor)))
_thnn_differentiable_lstm_cell_backward_tttttttt = cast8 Unmanaged._thnn_differentiable_lstm_cell_backward_tttttttt

_thnn_fused_gru_cell_ttttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_thnn_fused_gru_cell_ttttt = cast5 Unmanaged._thnn_fused_gru_cell_ttttt

_thnn_fused_gru_cell_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_thnn_fused_gru_cell_tttt = cast4 Unmanaged._thnn_fused_gru_cell_tttt

_thnn_fused_gru_cell_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_thnn_fused_gru_cell_ttt = cast3 Unmanaged._thnn_fused_gru_cell_ttt

_thnn_fused_gru_cell_backward_ttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor)))
_thnn_fused_gru_cell_backward_ttb = cast3 Unmanaged._thnn_fused_gru_cell_backward_ttb

_thnn_differentiable_gru_cell_backward_tttttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor,Tensor,Tensor)))
_thnn_differentiable_gru_cell_backward_tttttt = cast6 Unmanaged._thnn_differentiable_gru_cell_backward_tttttt

lstm_tllbldbbb
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> ForeignPtr TensorList
  -> CBool
  -> Int64
  -> CDouble
  -> CBool
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
lstm_tllbldbbb = cast9 Unmanaged.lstm_tllbldbbb

lstm_ttllbldbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> ForeignPtr TensorList
  -> CBool
  -> Int64
  -> CDouble
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
lstm_ttllbldbb = cast9 Unmanaged.lstm_ttllbldbb

gru_ttlbldbbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> CBool
  -> Int64
  -> CDouble
  -> CBool
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
gru_ttlbldbbb = cast9 Unmanaged.gru_ttlbldbbb

gru_tttlbldbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> CBool
  -> Int64
  -> CDouble
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
gru_tttlbldbb = cast9 Unmanaged.gru_tttlbldbb

rnn_tanh_ttlbldbbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> CBool
  -> Int64
  -> CDouble
  -> CBool
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
rnn_tanh_ttlbldbbb = cast9 Unmanaged.rnn_tanh_ttlbldbbb

rnn_tanh_tttlbldbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> CBool
  -> Int64
  -> CDouble
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
rnn_tanh_tttlbldbb = cast9 Unmanaged.rnn_tanh_tttlbldbb

rnn_relu_ttlbldbbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> CBool
  -> Int64
  -> CDouble
  -> CBool
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
rnn_relu_ttlbldbbb = cast9 Unmanaged.rnn_relu_ttlbldbbb

rnn_relu_tttlbldbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> CBool
  -> Int64
  -> CDouble
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
rnn_relu_tttlbldbb = cast9 Unmanaged.rnn_relu_tttlbldbb

lstm_cell_tltttt
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
lstm_cell_tltttt = cast6 Unmanaged.lstm_cell_tltttt

lstm_cell_tlttt
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
lstm_cell_tlttt = cast5 Unmanaged.lstm_cell_tlttt

lstm_cell_tltt
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
lstm_cell_tltt = cast4 Unmanaged.lstm_cell_tltt

gru_cell_tttttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
gru_cell_tttttt = cast6 Unmanaged.gru_cell_tttttt

gru_cell_ttttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
gru_cell_ttttt = cast5 Unmanaged.gru_cell_ttttt

gru_cell_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
gru_cell_tttt = cast4 Unmanaged.gru_cell_tttt

rnn_tanh_cell_tttttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
rnn_tanh_cell_tttttt = cast6 Unmanaged.rnn_tanh_cell_tttttt

rnn_tanh_cell_ttttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
rnn_tanh_cell_ttttt = cast5 Unmanaged.rnn_tanh_cell_ttttt

rnn_tanh_cell_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
rnn_tanh_cell_tttt = cast4 Unmanaged.rnn_tanh_cell_tttt

rnn_relu_cell_tttttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
rnn_relu_cell_tttttt = cast6 Unmanaged.rnn_relu_cell_tttttt

rnn_relu_cell_ttttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
rnn_relu_cell_ttttt = cast5 Unmanaged.rnn_relu_cell_ttttt

rnn_relu_cell_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
rnn_relu_cell_tttt = cast4 Unmanaged.rnn_relu_cell_tttt

quantized_lstm_tllbldbbbsb
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> ForeignPtr TensorList
  -> CBool
  -> Int64
  -> CDouble
  -> CBool
  -> CBool
  -> CBool
  -> ScalarType
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
quantized_lstm_tllbldbbbsb = cast11 Unmanaged.quantized_lstm_tllbldbbbsb

quantized_lstm_tllbldbbbs
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> ForeignPtr TensorList
  -> CBool
  -> Int64
  -> CDouble
  -> CBool
  -> CBool
  -> CBool
  -> ScalarType
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
quantized_lstm_tllbldbbbs = cast10 Unmanaged.quantized_lstm_tllbldbbbs

quantized_lstm_tllbldbbb
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> ForeignPtr TensorList
  -> CBool
  -> Int64
  -> CDouble
  -> CBool
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
quantized_lstm_tllbldbbb = cast9 Unmanaged.quantized_lstm_tllbldbbb

quantized_gru_ttlbldbbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> CBool
  -> Int64
  -> CDouble
  -> CBool
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
quantized_gru_ttlbldbbb = cast9 Unmanaged.quantized_gru_ttlbldbbb

quantized_gru_tttlbldbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> CBool
  -> Int64
  -> CDouble
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
quantized_gru_tttlbldbb = cast9 Unmanaged.quantized_gru_tttlbldbb

quantized_lstm_cell_tlttttttttssss
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
quantized_lstm_cell_tlttttttttssss = cast14 Unmanaged.quantized_lstm_cell_tlttttttttssss

quantized_gru_cell_ttttttttttssss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
quantized_gru_cell_ttttttttttssss = cast14 Unmanaged.quantized_gru_cell_ttttttttttssss

quantized_rnn_relu_cell_ttttttttttssss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
quantized_rnn_relu_cell_ttttttttttssss = cast14 Unmanaged.quantized_rnn_relu_cell_ttttttttttssss

quantized_rnn_tanh_cell_ttttttttttssss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
quantized_rnn_tanh_cell_ttttttttttssss = cast14 Unmanaged.quantized_rnn_tanh_cell_ttttttttttssss

_pack_padded_sequence_ttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_pack_padded_sequence_ttb = cast3 Unmanaged._pack_padded_sequence_ttb

_pack_padded_sequence_backward_tltb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
_pack_padded_sequence_backward_tltb = cast4 Unmanaged._pack_padded_sequence_backward_tltb

_pad_packed_sequence_ttbsl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> ForeignPtr Scalar
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_pad_packed_sequence_ttbsl = cast5 Unmanaged._pad_packed_sequence_ttbsl

masked_fill_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
masked_fill_tts = cast3 Unmanaged.masked_fill_tts

masked_fill_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
masked_fill_ttt = cast3 Unmanaged.masked_fill_ttt

masked_scatter_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
masked_scatter_ttt = cast3 Unmanaged.masked_scatter_ttt

index_add_tltt
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
index_add_tltt = cast4 Unmanaged.index_add_tltt

index_add_tntt
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
index_add_tntt = cast4 Unmanaged.index_add_tntt

index_fill_tlts
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
index_fill_tlts = cast4 Unmanaged.index_fill_tlts

index_fill_tltt
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
index_fill_tltt = cast4 Unmanaged.index_fill_tltt

index_fill_tnts
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
index_fill_tnts = cast4 Unmanaged.index_fill_tnts

index_fill_tntt
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
index_fill_tntt = cast4 Unmanaged.index_fill_tntt

scatter_tltt
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
scatter_tltt = cast4 Unmanaged.scatter_tltt

scatter_tlts
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
scatter_tlts = cast4 Unmanaged.scatter_tlts

scatter_tntt
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
scatter_tntt = cast4 Unmanaged.scatter_tntt

scatter_tnts
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
scatter_tnts = cast4 Unmanaged.scatter_tnts

scatter_add_tltt
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
scatter_add_tltt = cast4 Unmanaged.scatter_add_tltt

scatter_add_tntt
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
scatter_add_tntt = cast4 Unmanaged.scatter_add_tntt

__and___ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
__and___ts = cast2 Unmanaged.__and___ts

__and___tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
__and___tt = cast2 Unmanaged.__and___tt

__or___ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
__or___ts = cast2 Unmanaged.__or___ts

__or___tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
__or___tt = cast2 Unmanaged.__or___tt

__xor___ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
__xor___ts = cast2 Unmanaged.__xor___ts

__xor___tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
__xor___tt = cast2 Unmanaged.__xor___tt

__lshift___ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
__lshift___ts = cast2 Unmanaged.__lshift___ts

__lshift___tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
__lshift___tt = cast2 Unmanaged.__lshift___tt

__rshift___ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
__rshift___ts = cast2 Unmanaged.__rshift___ts

__rshift___tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
__rshift___tt = cast2 Unmanaged.__rshift___tt

addbmm_out_ttttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addbmm_out_ttttss = cast6 Unmanaged.addbmm_out_ttttss

addbmm_out_tttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addbmm_out_tttts = cast5 Unmanaged.addbmm_out_tttts

addbmm_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
addbmm_out_tttt = cast4 Unmanaged.addbmm_out_tttt

addbmm_tttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addbmm_tttss = cast5 Unmanaged.addbmm_tttss

addbmm_ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addbmm_ttts = cast4 Unmanaged.addbmm_ttts

addbmm_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
addbmm_ttt = cast3 Unmanaged.addbmm_ttt

diag_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
diag_out_ttl = cast3 Unmanaged.diag_out_ttl

diag_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
diag_out_tt = cast2 Unmanaged.diag_out_tt

diag_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
diag_tl = cast2 Unmanaged.diag_tl

diag_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
diag_t = cast1 Unmanaged.diag_t

cross_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
cross_out_tttl = cast4 Unmanaged.cross_out_tttl

cross_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cross_out_ttt = cast3 Unmanaged.cross_out_ttt

cross_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
cross_ttl = cast3 Unmanaged.cross_ttl

cross_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cross_tt = cast2 Unmanaged.cross_tt

triu_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
triu_out_ttl = cast3 Unmanaged.triu_out_ttl

triu_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
triu_out_tt = cast2 Unmanaged.triu_out_tt

triu_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
triu_tl = cast2 Unmanaged.triu_tl

triu_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
triu_t = cast1 Unmanaged.triu_t

tril_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
tril_out_ttl = cast3 Unmanaged.tril_out_ttl

tril_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
tril_out_tt = cast2 Unmanaged.tril_out_tt

tril_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
tril_tl = cast2 Unmanaged.tril_tl

tril_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
tril_t = cast1 Unmanaged.tril_t

tril_indices_lllo
  :: Int64
  -> Int64
  -> Int64
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
tril_indices_lllo = cast4 Unmanaged.tril_indices_lllo

tril_indices_lll
  :: Int64
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
tril_indices_lll = cast3 Unmanaged.tril_indices_lll

tril_indices_ll
  :: Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
tril_indices_ll = cast2 Unmanaged.tril_indices_ll

triu_indices_lllo
  :: Int64
  -> Int64
  -> Int64
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
triu_indices_lllo = cast4 Unmanaged.triu_indices_lllo

triu_indices_lll
  :: Int64
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
triu_indices_lll = cast3 Unmanaged.triu_indices_lll

triu_indices_ll
  :: Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
triu_indices_ll = cast2 Unmanaged.triu_indices_ll

trace_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
trace_t = cast1 Unmanaged.trace_t

ne_out_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
ne_out_tts = cast3 Unmanaged.ne_out_tts

ne_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
ne_ts = cast2 Unmanaged.ne_ts

ne_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
ne_out_ttt = cast3 Unmanaged.ne_out_ttt

ne_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
ne_tt = cast2 Unmanaged.ne_tt

eq_out_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
eq_out_tts = cast3 Unmanaged.eq_out_tts

eq_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
eq_ts = cast2 Unmanaged.eq_ts

eq_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
eq_out_ttt = cast3 Unmanaged.eq_out_ttt

eq_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
eq_tt = cast2 Unmanaged.eq_tt

ge_out_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
ge_out_tts = cast3 Unmanaged.ge_out_tts

ge_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
ge_ts = cast2 Unmanaged.ge_ts

ge_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
ge_out_ttt = cast3 Unmanaged.ge_out_ttt

ge_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
ge_tt = cast2 Unmanaged.ge_tt

le_out_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
le_out_tts = cast3 Unmanaged.le_out_tts

le_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
le_ts = cast2 Unmanaged.le_ts

le_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
le_out_ttt = cast3 Unmanaged.le_out_ttt

le_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
le_tt = cast2 Unmanaged.le_tt

gt_out_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
gt_out_tts = cast3 Unmanaged.gt_out_tts

gt_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
gt_ts = cast2 Unmanaged.gt_ts

gt_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
gt_out_ttt = cast3 Unmanaged.gt_out_ttt

gt_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
gt_tt = cast2 Unmanaged.gt_tt

lt_out_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
lt_out_tts = cast3 Unmanaged.lt_out_tts

lt_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
lt_ts = cast2 Unmanaged.lt_ts

lt_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
lt_out_ttt = cast3 Unmanaged.lt_out_ttt

lt_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
lt_tt = cast2 Unmanaged.lt_tt

take_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
take_out_ttt = cast3 Unmanaged.take_out_ttt

take_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
take_tt = cast2 Unmanaged.take_tt

index_select_out_ttlt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
index_select_out_ttlt = cast4 Unmanaged.index_select_out_ttlt

index_select_tlt
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
index_select_tlt = cast3 Unmanaged.index_select_tlt

index_select_out_ttnt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
index_select_out_ttnt = cast4 Unmanaged.index_select_out_ttnt

index_select_tnt
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
index_select_tnt = cast3 Unmanaged.index_select_tnt

masked_select_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
masked_select_out_ttt = cast3 Unmanaged.masked_select_out_ttt

masked_select_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
masked_select_tt = cast2 Unmanaged.masked_select_tt

nonzero_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
nonzero_out_tt = cast2 Unmanaged.nonzero_out_tt

nonzero_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
nonzero_t = cast1 Unmanaged.nonzero_t

nonzero_numpy_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr TensorList)
nonzero_numpy_t = cast1 Unmanaged.nonzero_numpy_t

gather_out_ttltb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
gather_out_ttltb = cast5 Unmanaged.gather_out_ttltb

gather_out_ttlt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
gather_out_ttlt = cast4 Unmanaged.gather_out_ttlt

gather_tltb
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
gather_tltb = cast4 Unmanaged.gather_tltb

gather_tlt
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
gather_tlt = cast3 Unmanaged.gather_tlt

gather_out_ttntb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
gather_out_ttntb = cast5 Unmanaged.gather_out_ttntb

gather_out_ttnt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
gather_out_ttnt = cast4 Unmanaged.gather_out_ttnt

gather_tntb
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
gather_tntb = cast4 Unmanaged.gather_tntb

gather_tnt
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
gather_tnt = cast3 Unmanaged.gather_tnt

_gather_sparse_backward_tltt
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_gather_sparse_backward_tltt = cast4 Unmanaged._gather_sparse_backward_tltt

addcmul_out_tttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addcmul_out_tttts = cast5 Unmanaged.addcmul_out_tttts

addcmul_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
addcmul_out_tttt = cast4 Unmanaged.addcmul_out_tttt

addcmul_ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addcmul_ttts = cast4 Unmanaged.addcmul_ttts

addcmul_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
addcmul_ttt = cast3 Unmanaged.addcmul_ttt

addcdiv_out_tttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addcdiv_out_tttts = cast5 Unmanaged.addcdiv_out_tttts

addcdiv_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
addcdiv_out_tttt = cast4 Unmanaged.addcdiv_out_tttt

addcdiv_ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
addcdiv_ttts = cast4 Unmanaged.addcdiv_ttts

addcdiv_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
addcdiv_ttt = cast3 Unmanaged.addcdiv_ttt

lstsq_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
lstsq_out_tttt = cast4 Unmanaged.lstsq_out_tttt

lstsq_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
lstsq_tt = cast2 Unmanaged.lstsq_tt

triangular_solve_out_ttttbbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
triangular_solve_out_ttttbbb = cast7 Unmanaged.triangular_solve_out_ttttbbb

triangular_solve_out_ttttbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
triangular_solve_out_ttttbb = cast6 Unmanaged.triangular_solve_out_ttttbb

triangular_solve_out_ttttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
triangular_solve_out_ttttb = cast5 Unmanaged.triangular_solve_out_ttttb

triangular_solve_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
triangular_solve_out_tttt = cast4 Unmanaged.triangular_solve_out_tttt

triangular_solve_ttbbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
triangular_solve_ttbbb = cast5 Unmanaged.triangular_solve_ttbbb

triangular_solve_ttbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
triangular_solve_ttbb = cast4 Unmanaged.triangular_solve_ttbb

triangular_solve_ttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
triangular_solve_ttb = cast3 Unmanaged.triangular_solve_ttb

triangular_solve_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
triangular_solve_tt = cast2 Unmanaged.triangular_solve_tt

_triangular_solve_helper_ttbbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_triangular_solve_helper_ttbbb = cast5 Unmanaged._triangular_solve_helper_ttbbb

symeig_out_tttbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
symeig_out_tttbb = cast5 Unmanaged.symeig_out_tttbb

symeig_out_tttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
symeig_out_tttb = cast4 Unmanaged.symeig_out_tttb

symeig_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
symeig_out_ttt = cast3 Unmanaged.symeig_out_ttt

symeig_tbb
  :: ForeignPtr Tensor
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
symeig_tbb = cast3 Unmanaged.symeig_tbb

symeig_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
symeig_tb = cast2 Unmanaged.symeig_tb

symeig_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
symeig_t = cast1 Unmanaged.symeig_t

_symeig_helper_tbb
  :: ForeignPtr Tensor
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_symeig_helper_tbb = cast3 Unmanaged._symeig_helper_tbb

eig_out_tttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
eig_out_tttb = cast4 Unmanaged.eig_out_tttb

eig_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
eig_out_ttt = cast3 Unmanaged.eig_out_ttt

eig_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
eig_tb = cast2 Unmanaged.eig_tb

eig_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
eig_t = cast1 Unmanaged.eig_t

svd_out_ttttbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
svd_out_ttttbb = cast6 Unmanaged.svd_out_ttttbb

svd_out_ttttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
svd_out_ttttb = cast5 Unmanaged.svd_out_ttttb

svd_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
svd_out_tttt = cast4 Unmanaged.svd_out_tttt

svd_tbb
  :: ForeignPtr Tensor
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
svd_tbb = cast3 Unmanaged.svd_tbb

svd_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
svd_tb = cast2 Unmanaged.svd_tb

svd_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
svd_t = cast1 Unmanaged.svd_t

_svd_helper_tbb
  :: ForeignPtr Tensor
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
_svd_helper_tbb = cast3 Unmanaged._svd_helper_tbb

cholesky_out_ttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
cholesky_out_ttb = cast3 Unmanaged.cholesky_out_ttb

cholesky_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cholesky_out_tt = cast2 Unmanaged.cholesky_out_tt

cholesky_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
cholesky_tb = cast2 Unmanaged.cholesky_tb

cholesky_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cholesky_t = cast1 Unmanaged.cholesky_t

_cholesky_helper_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
_cholesky_helper_tb = cast2 Unmanaged._cholesky_helper_tb

cholesky_solve_out_tttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
cholesky_solve_out_tttb = cast4 Unmanaged.cholesky_solve_out_tttb

cholesky_solve_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cholesky_solve_out_ttt = cast3 Unmanaged.cholesky_solve_out_ttt

cholesky_solve_ttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
cholesky_solve_ttb = cast3 Unmanaged.cholesky_solve_ttb

cholesky_solve_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cholesky_solve_tt = cast2 Unmanaged.cholesky_solve_tt

_cholesky_solve_helper_ttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
_cholesky_solve_helper_ttb = cast3 Unmanaged._cholesky_solve_helper_ttb

solve_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
solve_tt = cast2 Unmanaged.solve_tt

solve_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
solve_out_tttt = cast4 Unmanaged.solve_out_tttt

_solve_helper_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_solve_helper_tt = cast2 Unmanaged._solve_helper_tt

cholesky_inverse_out_ttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
cholesky_inverse_out_ttb = cast3 Unmanaged.cholesky_inverse_out_ttb

cholesky_inverse_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cholesky_inverse_out_tt = cast2 Unmanaged.cholesky_inverse_out_tt

cholesky_inverse_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
cholesky_inverse_tb = cast2 Unmanaged.cholesky_inverse_tb

cholesky_inverse_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
cholesky_inverse_t = cast1 Unmanaged.cholesky_inverse_t

qr_out_tttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
qr_out_tttb = cast4 Unmanaged.qr_out_tttb

qr_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
qr_out_ttt = cast3 Unmanaged.qr_out_ttt

qr_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
qr_tb = cast2 Unmanaged.qr_tb

qr_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
qr_t = cast1 Unmanaged.qr_t

_qr_helper_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_qr_helper_tb = cast2 Unmanaged._qr_helper_tb

geqrf_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
geqrf_out_ttt = cast3 Unmanaged.geqrf_out_ttt

geqrf_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
geqrf_t = cast1 Unmanaged.geqrf_t

orgqr_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
orgqr_out_ttt = cast3 Unmanaged.orgqr_out_ttt

orgqr_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
orgqr_tt = cast2 Unmanaged.orgqr_tt

ormqr_out_ttttbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
ormqr_out_ttttbb = cast6 Unmanaged.ormqr_out_ttttbb

ormqr_out_ttttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
ormqr_out_ttttb = cast5 Unmanaged.ormqr_out_ttttb

ormqr_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
ormqr_out_tttt = cast4 Unmanaged.ormqr_out_tttt

ormqr_tttbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
ormqr_tttbb = cast5 Unmanaged.ormqr_tttbb

ormqr_tttb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
ormqr_tttb = cast4 Unmanaged.ormqr_tttb

ormqr_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
ormqr_ttt = cast3 Unmanaged.ormqr_ttt

_lu_with_info_tbb
  :: ForeignPtr Tensor
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
_lu_with_info_tbb = cast3 Unmanaged._lu_with_info_tbb

_lu_with_info_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
_lu_with_info_tb = cast2 Unmanaged._lu_with_info_tb

_lu_with_info_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
_lu_with_info_t = cast1 Unmanaged._lu_with_info_t

lu_solve_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
lu_solve_out_tttt = cast4 Unmanaged.lu_solve_out_tttt

lu_solve_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
lu_solve_ttt = cast3 Unmanaged.lu_solve_ttt

_lu_solve_helper_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_lu_solve_helper_ttt = cast3 Unmanaged._lu_solve_helper_ttt

multinomial_out_ttlbp
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
multinomial_out_ttlbp = cast5 Unmanaged.multinomial_out_ttlbp

multinomial_out_ttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
multinomial_out_ttlb = cast4 Unmanaged.multinomial_out_ttlb

multinomial_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
multinomial_out_ttl = cast3 Unmanaged.multinomial_out_ttl

multinomial_tlbp
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
multinomial_tlbp = cast4 Unmanaged.multinomial_tlbp

multinomial_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
multinomial_tlb = cast3 Unmanaged.multinomial_tlb

multinomial_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
multinomial_tl = cast2 Unmanaged.multinomial_tl

_multinomial_alias_setup_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_multinomial_alias_setup_t = cast1 Unmanaged._multinomial_alias_setup_t

_multinomial_alias_draw_ttlp
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
_multinomial_alias_draw_ttlp = cast4 Unmanaged._multinomial_alias_draw_ttlp

_multinomial_alias_draw_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
_multinomial_alias_draw_ttl = cast3 Unmanaged._multinomial_alias_draw_ttl

lgamma_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
lgamma_out_tt = cast2 Unmanaged.lgamma_out_tt

lgamma_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
lgamma_t = cast1 Unmanaged.lgamma_t

digamma_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
digamma_out_tt = cast2 Unmanaged.digamma_out_tt

digamma_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
digamma_t = cast1 Unmanaged.digamma_t

polygamma_out_tlt
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
polygamma_out_tlt = cast3 Unmanaged.polygamma_out_tlt

polygamma_lt
  :: Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
polygamma_lt = cast2 Unmanaged.polygamma_lt

erfinv_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
erfinv_t = cast1 Unmanaged.erfinv_t

erfinv_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
erfinv_out_tt = cast2 Unmanaged.erfinv_out_tt

sign_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sign_t = cast1 Unmanaged.sign_t

sign_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sign_out_tt = cast2 Unmanaged.sign_out_tt

dist_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
dist_tts = cast3 Unmanaged.dist_tts

dist_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
dist_tt = cast2 Unmanaged.dist_tt

atan2_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
atan2_out_ttt = cast3 Unmanaged.atan2_out_ttt

atan2_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
atan2_tt = cast2 Unmanaged.atan2_tt

lerp_out_ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
lerp_out_ttts = cast4 Unmanaged.lerp_out_ttts

lerp_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
lerp_out_tttt = cast4 Unmanaged.lerp_out_tttt

lerp_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
lerp_tts = cast3 Unmanaged.lerp_tts

lerp_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
lerp_ttt = cast3 Unmanaged.lerp_ttt

histc_out_ttlss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
histc_out_ttlss = cast5 Unmanaged.histc_out_ttlss

histc_out_ttls
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
histc_out_ttls = cast4 Unmanaged.histc_out_ttls

histc_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
histc_out_ttl = cast3 Unmanaged.histc_out_ttl

histc_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
histc_out_tt = cast2 Unmanaged.histc_out_tt

histc_tlss
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
histc_tlss = cast4 Unmanaged.histc_tlss

histc_tls
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
histc_tls = cast3 Unmanaged.histc_tls

histc_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
histc_tl = cast2 Unmanaged.histc_tl

histc_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
histc_t = cast1 Unmanaged.histc_t

fmod_out_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
fmod_out_tts = cast3 Unmanaged.fmod_out_tts

fmod_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
fmod_ts = cast2 Unmanaged.fmod_ts

fmod_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
fmod_out_ttt = cast3 Unmanaged.fmod_out_ttt

fmod_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
fmod_tt = cast2 Unmanaged.fmod_tt

remainder_out_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
remainder_out_tts = cast3 Unmanaged.remainder_out_tts

remainder_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
remainder_ts = cast2 Unmanaged.remainder_ts

remainder_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
remainder_out_ttt = cast3 Unmanaged.remainder_out_ttt

remainder_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
remainder_tt = cast2 Unmanaged.remainder_tt

min_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
min_out_ttt = cast3 Unmanaged.min_out_ttt

min_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
min_tt = cast2 Unmanaged.min_tt

min_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
min_t = cast1 Unmanaged.min_t

max_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
max_out_ttt = cast3 Unmanaged.max_out_ttt

max_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
max_tt = cast2 Unmanaged.max_tt

max_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
max_t = cast1 Unmanaged.max_t

median_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
median_t = cast1 Unmanaged.median_t

sort_out_tttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
sort_out_tttlb = cast5 Unmanaged.sort_out_tttlb

sort_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
sort_out_tttl = cast4 Unmanaged.sort_out_tttl

sort_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
sort_out_ttt = cast3 Unmanaged.sort_out_ttt

sort_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
sort_tlb = cast3 Unmanaged.sort_tlb

sort_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
sort_tl = cast2 Unmanaged.sort_tl

sort_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
sort_t = cast1 Unmanaged.sort_t

sort_out_tttnb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
sort_out_tttnb = cast5 Unmanaged.sort_out_tttnb

sort_out_tttn
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
sort_out_tttn = cast4 Unmanaged.sort_out_tttn

sort_tnb
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
sort_tnb = cast3 Unmanaged.sort_tnb

sort_tn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
sort_tn = cast2 Unmanaged.sort_tn

argsort_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr Tensor)
argsort_tlb = cast3 Unmanaged.argsort_tlb

argsort_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
argsort_tl = cast2 Unmanaged.argsort_tl

argsort_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
argsort_t = cast1 Unmanaged.argsort_t

argsort_tnb
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> CBool
  -> IO (ForeignPtr Tensor)
argsort_tnb = cast3 Unmanaged.argsort_tnb

argsort_tn
  :: ForeignPtr Tensor
  -> ForeignPtr Dimname
  -> IO (ForeignPtr Tensor)
argsort_tn = cast2 Unmanaged.argsort_tn

topk_out_tttllbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
topk_out_tttllbb = cast7 Unmanaged.topk_out_tttllbb

topk_out_tttllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
topk_out_tttllb = cast6 Unmanaged.topk_out_tttllb

topk_out_tttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
topk_out_tttll = cast5 Unmanaged.topk_out_tttll

topk_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
topk_out_tttl = cast4 Unmanaged.topk_out_tttl

topk_tllbb
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> CBool
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
topk_tllbb = cast5 Unmanaged.topk_tllbb

topk_tllb
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
topk_tllb = cast4 Unmanaged.topk_tllb

topk_tll
  :: ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
topk_tll = cast3 Unmanaged.topk_tll

topk_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
topk_tl = cast2 Unmanaged.topk_tl

all_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
all_t = cast1 Unmanaged.all_t

any_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
any_t = cast1 Unmanaged.any_t

renorm_out_ttsls
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> Int64
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
renorm_out_ttsls = cast5 Unmanaged.renorm_out_ttsls

renorm_tsls
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> Int64
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
renorm_tsls = cast4 Unmanaged.renorm_tsls

equal_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (CBool)
equal_tt = cast2 Unmanaged.equal_tt

pow_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
pow_out_ttt = cast3 Unmanaged.pow_out_ttt

pow_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
pow_tt = cast2 Unmanaged.pow_tt

pow_out_tst
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
pow_out_tst = cast3 Unmanaged.pow_out_tst

pow_st
  :: ForeignPtr Scalar
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
pow_st = cast2 Unmanaged.pow_st

normal_out_ttdp
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
normal_out_ttdp = cast4 Unmanaged.normal_out_ttdp

normal_out_ttd
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
normal_out_ttd = cast3 Unmanaged.normal_out_ttd

normal_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
normal_out_tt = cast2 Unmanaged.normal_out_tt

normal_tdp
  :: ForeignPtr Tensor
  -> CDouble
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
normal_tdp = cast3 Unmanaged.normal_tdp

normal_td
  :: ForeignPtr Tensor
  -> CDouble
  -> IO (ForeignPtr Tensor)
normal_td = cast2 Unmanaged.normal_td

normal_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
normal_t = cast1 Unmanaged.normal_t

normal_out_tdtp
  :: ForeignPtr Tensor
  -> CDouble
  -> ForeignPtr Tensor
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
normal_out_tdtp = cast4 Unmanaged.normal_out_tdtp

normal_out_tdt
  :: ForeignPtr Tensor
  -> CDouble
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
normal_out_tdt = cast3 Unmanaged.normal_out_tdt

normal_dtp
  :: CDouble
  -> ForeignPtr Tensor
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
normal_dtp = cast3 Unmanaged.normal_dtp

normal_dt
  :: CDouble
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
normal_dt = cast2 Unmanaged.normal_dt

normal_out_tttp
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
normal_out_tttp = cast4 Unmanaged.normal_out_tttp

normal_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
normal_out_ttt = cast3 Unmanaged.normal_out_ttt

normal_ttp
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
normal_ttp = cast3 Unmanaged.normal_ttp

normal_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
normal_tt = cast2 Unmanaged.normal_tt

normal_ddlpo
  :: CDouble
  -> CDouble
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> ForeignPtr TensorOptions
  -> IO (ForeignPtr Tensor)
normal_ddlpo = cast5 Unmanaged.normal_ddlpo

normal_ddlp
  :: CDouble
  -> CDouble
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
normal_ddlp = cast4 Unmanaged.normal_ddlp

normal_ddl
  :: CDouble
  -> CDouble
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
normal_ddl = cast3 Unmanaged.normal_ddl

normal_out_tddlp
  :: ForeignPtr Tensor
  -> CDouble
  -> CDouble
  -> ForeignPtr IntArray
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
normal_out_tddlp = cast5 Unmanaged.normal_out_tddlp

normal_out_tddl
  :: ForeignPtr Tensor
  -> CDouble
  -> CDouble
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
normal_out_tddl = cast4 Unmanaged.normal_out_tddl

alias_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
alias_t = cast1 Unmanaged.alias_t

_addr_tttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
_addr_tttss = cast5 Unmanaged._addr_tttss

_addr_ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
_addr_ttts = cast4 Unmanaged._addr_ttts

_addr_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_addr_ttt = cast3 Unmanaged._addr_ttt

_addr__tttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
_addr__tttss = cast5 Unmanaged._addr__tttss

_addr__ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
_addr__ttts = cast4 Unmanaged._addr__ttts

_addr__ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_addr__ttt = cast3 Unmanaged._addr__ttt

_addr_out_ttttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
_addr_out_ttttss = cast6 Unmanaged._addr_out_ttttss

_addr_out_tttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
_addr_out_tttts = cast5 Unmanaged._addr_out_tttts

_addr_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_addr_out_tttt = cast4 Unmanaged._addr_out_tttt

_index_copy__tltt
  :: ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_index_copy__tltt = cast4 Unmanaged._index_copy__tltt

_cumsum_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
_cumsum_tl = cast2 Unmanaged._cumsum_tl

_cumsum_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
_cumsum_out_ttl = cast3 Unmanaged._cumsum_out_ttl

_cumprod_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
_cumprod_tl = cast2 Unmanaged._cumprod_tl

_cumprod_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
_cumprod_out_ttl = cast3 Unmanaged._cumprod_out_ttl

_var_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
_var_tb = cast2 Unmanaged._var_tb

_var_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_var_t = cast1 Unmanaged._var_t

_std_tb
  :: ForeignPtr Tensor
  -> CBool
  -> IO (ForeignPtr Tensor)
_std_tb = cast2 Unmanaged._std_tb

_std_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_std_t = cast1 Unmanaged._std_t

_cat_ll
  :: ForeignPtr TensorList
  -> Int64
  -> IO (ForeignPtr Tensor)
_cat_ll = cast2 Unmanaged._cat_ll

_cat_l
  :: ForeignPtr TensorList
  -> IO (ForeignPtr Tensor)
_cat_l = cast1 Unmanaged._cat_l

_cat_out_tll
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> Int64
  -> IO (ForeignPtr Tensor)
_cat_out_tll = cast3 Unmanaged._cat_out_tll

_cat_out_tl
  :: ForeignPtr Tensor
  -> ForeignPtr TensorList
  -> IO (ForeignPtr Tensor)
_cat_out_tl = cast2 Unmanaged._cat_out_tl

_mode_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_mode_tlb = cast3 Unmanaged._mode_tlb

_mode_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_mode_tl = cast2 Unmanaged._mode_tl

_mode_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_mode_t = cast1 Unmanaged._mode_t

_mode_out_tttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_mode_out_tttlb = cast5 Unmanaged._mode_out_tttlb

_mode_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_mode_out_tttl = cast4 Unmanaged._mode_out_tttl

_mode_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_mode_out_ttt = cast3 Unmanaged._mode_out_ttt

_max_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_max_tlb = cast3 Unmanaged._max_tlb

_max_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_max_tl = cast2 Unmanaged._max_tl

_max_out_tttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_max_out_tttlb = cast5 Unmanaged._max_out_tttlb

_max_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_max_out_tttl = cast4 Unmanaged._max_out_tttl

_min_tlb
  :: ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_min_tlb = cast3 Unmanaged._min_tlb

_min_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_min_tl = cast2 Unmanaged._min_tl

_min_out_tttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_min_out_tttlb = cast5 Unmanaged._min_out_tttlb

_min_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
_min_out_tttl = cast4 Unmanaged._min_out_tttl

binary_cross_entropy_out_ttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
binary_cross_entropy_out_ttttl = cast5 Unmanaged.binary_cross_entropy_out_ttttl

binary_cross_entropy_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
binary_cross_entropy_out_tttt = cast4 Unmanaged.binary_cross_entropy_out_tttt

binary_cross_entropy_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
binary_cross_entropy_out_ttt = cast3 Unmanaged.binary_cross_entropy_out_ttt

binary_cross_entropy_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
binary_cross_entropy_tttl = cast4 Unmanaged.binary_cross_entropy_tttl

binary_cross_entropy_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
binary_cross_entropy_ttt = cast3 Unmanaged.binary_cross_entropy_ttt

binary_cross_entropy_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
binary_cross_entropy_tt = cast2 Unmanaged.binary_cross_entropy_tt

binary_cross_entropy_backward_out_tttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
binary_cross_entropy_backward_out_tttttl = cast6 Unmanaged.binary_cross_entropy_backward_out_tttttl

binary_cross_entropy_backward_out_ttttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
binary_cross_entropy_backward_out_ttttt = cast5 Unmanaged.binary_cross_entropy_backward_out_ttttt

binary_cross_entropy_backward_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
binary_cross_entropy_backward_out_tttt = cast4 Unmanaged.binary_cross_entropy_backward_out_tttt

binary_cross_entropy_backward_ttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
binary_cross_entropy_backward_ttttl = cast5 Unmanaged.binary_cross_entropy_backward_ttttl

binary_cross_entropy_backward_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
binary_cross_entropy_backward_tttt = cast4 Unmanaged.binary_cross_entropy_backward_tttt

binary_cross_entropy_backward_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
binary_cross_entropy_backward_ttt = cast3 Unmanaged.binary_cross_entropy_backward_ttt

mse_loss_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
mse_loss_out_tttl = cast4 Unmanaged.mse_loss_out_tttl

mse_loss_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
mse_loss_out_ttt = cast3 Unmanaged.mse_loss_out_ttt

mse_loss_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
mse_loss_ttl = cast3 Unmanaged.mse_loss_ttl

mse_loss_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
mse_loss_tt = cast2 Unmanaged.mse_loss_tt

mse_loss_backward_out_ttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
mse_loss_backward_out_ttttl = cast5 Unmanaged.mse_loss_backward_out_ttttl

mse_loss_backward_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
mse_loss_backward_tttl = cast4 Unmanaged.mse_loss_backward_tttl

l1_loss_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
l1_loss_out_tttl = cast4 Unmanaged.l1_loss_out_tttl

l1_loss_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
l1_loss_out_ttt = cast3 Unmanaged.l1_loss_out_ttt

l1_loss_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
l1_loss_ttl = cast3 Unmanaged.l1_loss_ttl

l1_loss_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
l1_loss_tt = cast2 Unmanaged.l1_loss_tt

l1_loss_backward_out_ttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
l1_loss_backward_out_ttttl = cast5 Unmanaged.l1_loss_backward_out_ttttl

l1_loss_backward_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
l1_loss_backward_tttl = cast4 Unmanaged.l1_loss_backward_tttl

multi_margin_loss_out_tttsstl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
multi_margin_loss_out_tttsstl = cast7 Unmanaged.multi_margin_loss_out_tttsstl

multi_margin_loss_out_tttsst
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
multi_margin_loss_out_tttsst = cast6 Unmanaged.multi_margin_loss_out_tttsst

multi_margin_loss_out_tttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
multi_margin_loss_out_tttss = cast5 Unmanaged.multi_margin_loss_out_tttss

multi_margin_loss_out_ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
multi_margin_loss_out_ttts = cast4 Unmanaged.multi_margin_loss_out_ttts

multi_margin_loss_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
multi_margin_loss_out_ttt = cast3 Unmanaged.multi_margin_loss_out_ttt

multi_margin_loss_ttsstl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
multi_margin_loss_ttsstl = cast6 Unmanaged.multi_margin_loss_ttsstl

multi_margin_loss_ttsst
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
multi_margin_loss_ttsst = cast5 Unmanaged.multi_margin_loss_ttsst

multi_margin_loss_ttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
multi_margin_loss_ttss = cast4 Unmanaged.multi_margin_loss_ttss

multi_margin_loss_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
multi_margin_loss_tts = cast3 Unmanaged.multi_margin_loss_tts

multi_margin_loss_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
multi_margin_loss_tt = cast2 Unmanaged.multi_margin_loss_tt

multi_margin_loss_backward_out_ttttsstl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
multi_margin_loss_backward_out_ttttsstl = cast8 Unmanaged.multi_margin_loss_backward_out_ttttsstl

multi_margin_loss_backward_out_ttttsst
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
multi_margin_loss_backward_out_ttttsst = cast7 Unmanaged.multi_margin_loss_backward_out_ttttsst

multi_margin_loss_backward_out_ttttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
multi_margin_loss_backward_out_ttttss = cast6 Unmanaged.multi_margin_loss_backward_out_ttttss

multi_margin_loss_backward_tttsstl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
multi_margin_loss_backward_tttsstl = cast7 Unmanaged.multi_margin_loss_backward_tttsstl

multi_margin_loss_backward_tttsst
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
multi_margin_loss_backward_tttsst = cast6 Unmanaged.multi_margin_loss_backward_tttsst

multi_margin_loss_backward_tttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
multi_margin_loss_backward_tttss = cast5 Unmanaged.multi_margin_loss_backward_tttss

multilabel_margin_loss_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
multilabel_margin_loss_out_tttl = cast4 Unmanaged.multilabel_margin_loss_out_tttl

multilabel_margin_loss_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
multilabel_margin_loss_out_ttt = cast3 Unmanaged.multilabel_margin_loss_out_ttt

multilabel_margin_loss_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
multilabel_margin_loss_ttl = cast3 Unmanaged.multilabel_margin_loss_ttl

multilabel_margin_loss_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
multilabel_margin_loss_tt = cast2 Unmanaged.multilabel_margin_loss_tt

multilabel_margin_loss_forward_out_ttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
multilabel_margin_loss_forward_out_ttttl = cast5 Unmanaged.multilabel_margin_loss_forward_out_ttttl

multilabel_margin_loss_forward_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
multilabel_margin_loss_forward_ttl = cast3 Unmanaged.multilabel_margin_loss_forward_ttl

multilabel_margin_loss_backward_out_ttttlt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
multilabel_margin_loss_backward_out_ttttlt = cast6 Unmanaged.multilabel_margin_loss_backward_out_ttttlt

multilabel_margin_loss_backward_tttlt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
multilabel_margin_loss_backward_tttlt = cast5 Unmanaged.multilabel_margin_loss_backward_tttlt

nll_loss_out_ttttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
nll_loss_out_ttttll = cast6 Unmanaged.nll_loss_out_ttttll

nll_loss_out_ttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
nll_loss_out_ttttl = cast5 Unmanaged.nll_loss_out_ttttl

nll_loss_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
nll_loss_out_tttt = cast4 Unmanaged.nll_loss_out_tttt

nll_loss_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
nll_loss_out_ttt = cast3 Unmanaged.nll_loss_out_ttt

nll_loss_tttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
nll_loss_tttll = cast5 Unmanaged.nll_loss_tttll

nll_loss_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
nll_loss_tttl = cast4 Unmanaged.nll_loss_tttl

nll_loss_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
nll_loss_ttt = cast3 Unmanaged.nll_loss_ttt

nll_loss_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
nll_loss_tt = cast2 Unmanaged.nll_loss_tt

nll_loss_forward_out_tttttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
nll_loss_forward_out_tttttll = cast7 Unmanaged.nll_loss_forward_out_tttttll

nll_loss_forward_tttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
nll_loss_forward_tttll = cast5 Unmanaged.nll_loss_forward_tttll

nll_loss_backward_out_tttttllt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
nll_loss_backward_out_tttttllt = cast8 Unmanaged.nll_loss_backward_out_tttttllt

nll_loss_backward_ttttllt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
nll_loss_backward_ttttllt = cast7 Unmanaged.nll_loss_backward_ttttllt

nll_loss2d_out_ttttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
nll_loss2d_out_ttttll = cast6 Unmanaged.nll_loss2d_out_ttttll

nll_loss2d_out_ttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
nll_loss2d_out_ttttl = cast5 Unmanaged.nll_loss2d_out_ttttl

nll_loss2d_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
nll_loss2d_out_tttt = cast4 Unmanaged.nll_loss2d_out_tttt

nll_loss2d_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
nll_loss2d_out_ttt = cast3 Unmanaged.nll_loss2d_out_ttt

nll_loss2d_tttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr Tensor)
nll_loss2d_tttll = cast5 Unmanaged.nll_loss2d_tttll

nll_loss2d_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
nll_loss2d_tttl = cast4 Unmanaged.nll_loss2d_tttl

nll_loss2d_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
nll_loss2d_ttt = cast3 Unmanaged.nll_loss2d_ttt

nll_loss2d_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
nll_loss2d_tt = cast2 Unmanaged.nll_loss2d_tt

nll_loss2d_forward_out_tttttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
nll_loss2d_forward_out_tttttll = cast7 Unmanaged.nll_loss2d_forward_out_tttttll

nll_loss2d_forward_tttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
nll_loss2d_forward_tttll = cast5 Unmanaged.nll_loss2d_forward_tttll

nll_loss2d_backward_out_tttttllt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
nll_loss2d_backward_out_tttttllt = cast8 Unmanaged.nll_loss2d_backward_out_tttttllt

nll_loss2d_backward_ttttllt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> Int64
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
nll_loss2d_backward_ttttllt = cast7 Unmanaged.nll_loss2d_backward_ttttllt

smooth_l1_loss_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
smooth_l1_loss_out_tttl = cast4 Unmanaged.smooth_l1_loss_out_tttl

smooth_l1_loss_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
smooth_l1_loss_out_ttt = cast3 Unmanaged.smooth_l1_loss_out_ttt

smooth_l1_loss_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
smooth_l1_loss_ttl = cast3 Unmanaged.smooth_l1_loss_ttl

smooth_l1_loss_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
smooth_l1_loss_tt = cast2 Unmanaged.smooth_l1_loss_tt

smooth_l1_loss_backward_out_ttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
smooth_l1_loss_backward_out_ttttl = cast5 Unmanaged.smooth_l1_loss_backward_out_ttttl

smooth_l1_loss_backward_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
smooth_l1_loss_backward_tttl = cast4 Unmanaged.smooth_l1_loss_backward_tttl

soft_margin_loss_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
soft_margin_loss_out_tttl = cast4 Unmanaged.soft_margin_loss_out_tttl

soft_margin_loss_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
soft_margin_loss_out_ttt = cast3 Unmanaged.soft_margin_loss_out_ttt

soft_margin_loss_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
soft_margin_loss_ttl = cast3 Unmanaged.soft_margin_loss_ttl

soft_margin_loss_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
soft_margin_loss_tt = cast2 Unmanaged.soft_margin_loss_tt

soft_margin_loss_backward_out_ttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
soft_margin_loss_backward_out_ttttl = cast5 Unmanaged.soft_margin_loss_backward_out_ttttl

soft_margin_loss_backward_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
soft_margin_loss_backward_tttl = cast4 Unmanaged.soft_margin_loss_backward_tttl

elu_out_ttsss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
elu_out_ttsss = cast5 Unmanaged.elu_out_ttsss

elu_out_ttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
elu_out_ttss = cast4 Unmanaged.elu_out_ttss

elu_out_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
elu_out_tts = cast3 Unmanaged.elu_out_tts

elu_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
elu_out_tt = cast2 Unmanaged.elu_out_tt

elu_tsss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
elu_tsss = cast4 Unmanaged.elu_tsss

elu_tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
elu_tss = cast3 Unmanaged.elu_tss

elu_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
elu_ts = cast2 Unmanaged.elu_ts

elu_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
elu_t = cast1 Unmanaged.elu_t

elu_backward_out_ttssst
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
elu_backward_out_ttssst = cast6 Unmanaged.elu_backward_out_ttssst

elu_backward_tssst
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
elu_backward_tssst = cast5 Unmanaged.elu_backward_tssst

elu__tsss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
elu__tsss = cast4 Unmanaged.elu__tsss

elu__tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
elu__tss = cast3 Unmanaged.elu__tss

elu__ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
elu__ts = cast2 Unmanaged.elu__ts

elu__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
elu__t = cast1 Unmanaged.elu__t

glu_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
glu_out_ttl = cast3 Unmanaged.glu_out_ttl

glu_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
glu_out_tt = cast2 Unmanaged.glu_out_tt

glu_tl
  :: ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
glu_tl = cast2 Unmanaged.glu_tl

glu_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
glu_t = cast1 Unmanaged.glu_t

glu_backward_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
glu_backward_out_tttl = cast4 Unmanaged.glu_backward_out_tttl

glu_backward_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> Int64
  -> IO (ForeignPtr Tensor)
glu_backward_ttl = cast3 Unmanaged.glu_backward_ttl

hardtanh_out_ttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
hardtanh_out_ttss = cast4 Unmanaged.hardtanh_out_ttss

hardtanh_out_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
hardtanh_out_tts = cast3 Unmanaged.hardtanh_out_tts

hardtanh_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
hardtanh_out_tt = cast2 Unmanaged.hardtanh_out_tt

hardtanh_tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
hardtanh_tss = cast3 Unmanaged.hardtanh_tss

hardtanh_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
hardtanh_ts = cast2 Unmanaged.hardtanh_ts

hardtanh_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
hardtanh_t = cast1 Unmanaged.hardtanh_t

hardtanh_backward_out_tttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
hardtanh_backward_out_tttss = cast5 Unmanaged.hardtanh_backward_out_tttss

hardtanh_backward_ttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
hardtanh_backward_ttss = cast4 Unmanaged.hardtanh_backward_ttss

hardtanh__tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
hardtanh__tss = cast3 Unmanaged.hardtanh__tss

hardtanh__ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
hardtanh__ts = cast2 Unmanaged.hardtanh__ts

hardtanh__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
hardtanh__t = cast1 Unmanaged.hardtanh__t

leaky_relu_out_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
leaky_relu_out_tts = cast3 Unmanaged.leaky_relu_out_tts

leaky_relu_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
leaky_relu_out_tt = cast2 Unmanaged.leaky_relu_out_tt

leaky_relu_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
leaky_relu_ts = cast2 Unmanaged.leaky_relu_ts

leaky_relu_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
leaky_relu_t = cast1 Unmanaged.leaky_relu_t

leaky_relu_backward_out_ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
leaky_relu_backward_out_ttts = cast4 Unmanaged.leaky_relu_backward_out_ttts

leaky_relu_backward_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
leaky_relu_backward_tts = cast3 Unmanaged.leaky_relu_backward_tts

leaky_relu__ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
leaky_relu__ts = cast2 Unmanaged.leaky_relu__ts

leaky_relu__t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
leaky_relu__t = cast1 Unmanaged.leaky_relu__t

log_sigmoid_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
log_sigmoid_out_tt = cast2 Unmanaged.log_sigmoid_out_tt

log_sigmoid_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
log_sigmoid_t = cast1 Unmanaged.log_sigmoid_t

log_sigmoid_forward_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
log_sigmoid_forward_out_ttt = cast3 Unmanaged.log_sigmoid_forward_out_ttt

log_sigmoid_forward_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
log_sigmoid_forward_t = cast1 Unmanaged.log_sigmoid_forward_t

log_sigmoid_backward_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
log_sigmoid_backward_out_tttt = cast4 Unmanaged.log_sigmoid_backward_out_tttt

log_sigmoid_backward_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
log_sigmoid_backward_ttt = cast3 Unmanaged.log_sigmoid_backward_ttt

rrelu_with_noise_out_tttssbp
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> CBool
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
rrelu_with_noise_out_tttssbp = cast7 Unmanaged.rrelu_with_noise_out_tttssbp

rrelu_with_noise_out_tttssb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> CBool
  -> IO (ForeignPtr Tensor)
rrelu_with_noise_out_tttssb = cast6 Unmanaged.rrelu_with_noise_out_tttssb

rrelu_with_noise_out_tttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
rrelu_with_noise_out_tttss = cast5 Unmanaged.rrelu_with_noise_out_tttss

rrelu_with_noise_out_ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
rrelu_with_noise_out_ttts = cast4 Unmanaged.rrelu_with_noise_out_ttts

rrelu_with_noise_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
rrelu_with_noise_out_ttt = cast3 Unmanaged.rrelu_with_noise_out_ttt

rrelu_with_noise_ttssbp
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> CBool
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
rrelu_with_noise_ttssbp = cast6 Unmanaged.rrelu_with_noise_ttssbp

rrelu_with_noise_ttssb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> CBool
  -> IO (ForeignPtr Tensor)
rrelu_with_noise_ttssb = cast5 Unmanaged.rrelu_with_noise_ttssb

rrelu_with_noise_ttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
rrelu_with_noise_ttss = cast4 Unmanaged.rrelu_with_noise_ttss

rrelu_with_noise_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
rrelu_with_noise_tts = cast3 Unmanaged.rrelu_with_noise_tts

rrelu_with_noise_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
rrelu_with_noise_tt = cast2 Unmanaged.rrelu_with_noise_tt

rrelu_with_noise_backward_out_ttttssb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> CBool
  -> IO (ForeignPtr Tensor)
rrelu_with_noise_backward_out_ttttssb = cast7 Unmanaged.rrelu_with_noise_backward_out_ttttssb

rrelu_with_noise_backward_tttssb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> CBool
  -> IO (ForeignPtr Tensor)
rrelu_with_noise_backward_tttssb = cast6 Unmanaged.rrelu_with_noise_backward_tttssb

rrelu_with_noise__ttssbp
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> CBool
  -> ForeignPtr Generator
  -> IO (ForeignPtr Tensor)
rrelu_with_noise__ttssbp = cast6 Unmanaged.rrelu_with_noise__ttssbp

rrelu_with_noise__ttssb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> CBool
  -> IO (ForeignPtr Tensor)
rrelu_with_noise__ttssb = cast5 Unmanaged.rrelu_with_noise__ttssb

rrelu_with_noise__ttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
rrelu_with_noise__ttss = cast4 Unmanaged.rrelu_with_noise__ttss

rrelu_with_noise__tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
rrelu_with_noise__tts = cast3 Unmanaged.rrelu_with_noise__tts

rrelu_with_noise__tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
rrelu_with_noise__tt = cast2 Unmanaged.rrelu_with_noise__tt

softplus_out_ttss
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
softplus_out_ttss = cast4 Unmanaged.softplus_out_ttss

softplus_out_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
softplus_out_tts = cast3 Unmanaged.softplus_out_tts

softplus_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
softplus_out_tt = cast2 Unmanaged.softplus_out_tt

softplus_tss
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
softplus_tss = cast3 Unmanaged.softplus_tss

softplus_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
softplus_ts = cast2 Unmanaged.softplus_ts

softplus_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
softplus_t = cast1 Unmanaged.softplus_t

softplus_backward_out_tttsst
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
softplus_backward_out_tttsst = cast6 Unmanaged.softplus_backward_out_tttsst

softplus_backward_ttsst
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> ForeignPtr Scalar
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
softplus_backward_ttsst = cast5 Unmanaged.softplus_backward_ttsst

softshrink_out_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
softshrink_out_tts = cast3 Unmanaged.softshrink_out_tts

softshrink_out_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
softshrink_out_tt = cast2 Unmanaged.softshrink_out_tt

softshrink_ts
  :: ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
softshrink_ts = cast2 Unmanaged.softshrink_ts

softshrink_t
  :: ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
softshrink_t = cast1 Unmanaged.softshrink_t

softshrink_backward_out_ttts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
softshrink_backward_out_ttts = cast4 Unmanaged.softshrink_backward_out_ttts

softshrink_backward_tts
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Scalar
  -> IO (ForeignPtr Tensor)
softshrink_backward_tts = cast3 Unmanaged.softshrink_backward_tts

adaptive_avg_pool2d_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
adaptive_avg_pool2d_out_ttl = cast3 Unmanaged.adaptive_avg_pool2d_out_ttl

adaptive_avg_pool2d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
adaptive_avg_pool2d_tl = cast2 Unmanaged.adaptive_avg_pool2d_tl

mkldnn_adaptive_avg_pool2d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
mkldnn_adaptive_avg_pool2d_tl = cast2 Unmanaged.mkldnn_adaptive_avg_pool2d_tl

_adaptive_avg_pool2d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
_adaptive_avg_pool2d_tl = cast2 Unmanaged._adaptive_avg_pool2d_tl

_adaptive_avg_pool2d_backward_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
_adaptive_avg_pool2d_backward_tt = cast2 Unmanaged._adaptive_avg_pool2d_backward_tt

adaptive_avg_pool3d_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
adaptive_avg_pool3d_out_ttl = cast3 Unmanaged.adaptive_avg_pool3d_out_ttl

adaptive_avg_pool3d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
adaptive_avg_pool3d_tl = cast2 Unmanaged.adaptive_avg_pool3d_tl

adaptive_avg_pool3d_backward_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
adaptive_avg_pool3d_backward_out_ttt = cast3 Unmanaged.adaptive_avg_pool3d_backward_out_ttt

adaptive_avg_pool3d_backward_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
adaptive_avg_pool3d_backward_tt = cast2 Unmanaged.adaptive_avg_pool3d_backward_tt

adaptive_max_pool2d_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
adaptive_max_pool2d_out_tttl = cast4 Unmanaged.adaptive_max_pool2d_out_tttl

adaptive_max_pool2d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
adaptive_max_pool2d_tl = cast2 Unmanaged.adaptive_max_pool2d_tl

adaptive_max_pool2d_backward_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
adaptive_max_pool2d_backward_out_tttt = cast4 Unmanaged.adaptive_max_pool2d_backward_out_tttt

adaptive_max_pool2d_backward_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
adaptive_max_pool2d_backward_ttt = cast3 Unmanaged.adaptive_max_pool2d_backward_ttt

adaptive_max_pool3d_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
adaptive_max_pool3d_out_tttl = cast4 Unmanaged.adaptive_max_pool3d_out_tttl

adaptive_max_pool3d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
adaptive_max_pool3d_tl = cast2 Unmanaged.adaptive_max_pool3d_tl

adaptive_max_pool3d_backward_out_tttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
adaptive_max_pool3d_backward_out_tttt = cast4 Unmanaged.adaptive_max_pool3d_backward_out_tttt

adaptive_max_pool3d_backward_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
adaptive_max_pool3d_backward_ttt = cast3 Unmanaged.adaptive_max_pool3d_backward_ttt

avg_pool2d_out_ttlllbbl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> CBool
  -> Int64
  -> IO (ForeignPtr Tensor)
avg_pool2d_out_ttlllbbl = cast8 Unmanaged.avg_pool2d_out_ttlllbbl

avg_pool2d_out_ttlllbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
avg_pool2d_out_ttlllbb = cast7 Unmanaged.avg_pool2d_out_ttlllbb

avg_pool2d_out_ttlllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
avg_pool2d_out_ttlllb = cast6 Unmanaged.avg_pool2d_out_ttlllb

avg_pool2d_out_ttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
avg_pool2d_out_ttlll = cast5 Unmanaged.avg_pool2d_out_ttlll

avg_pool2d_out_ttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
avg_pool2d_out_ttll = cast4 Unmanaged.avg_pool2d_out_ttll

avg_pool2d_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
avg_pool2d_out_ttl = cast3 Unmanaged.avg_pool2d_out_ttl

avg_pool2d_tlllbbl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> CBool
  -> Int64
  -> IO (ForeignPtr Tensor)
avg_pool2d_tlllbbl = cast7 Unmanaged.avg_pool2d_tlllbbl

avg_pool2d_tlllbb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
avg_pool2d_tlllbb = cast6 Unmanaged.avg_pool2d_tlllbb

avg_pool2d_tlllb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
avg_pool2d_tlllb = cast5 Unmanaged.avg_pool2d_tlllb

avg_pool2d_tlll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
avg_pool2d_tlll = cast4 Unmanaged.avg_pool2d_tlll

avg_pool2d_tll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
avg_pool2d_tll = cast3 Unmanaged.avg_pool2d_tll

avg_pool2d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
avg_pool2d_tl = cast2 Unmanaged.avg_pool2d_tl

avg_pool2d_backward_out_tttlllbbl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> CBool
  -> Int64
  -> IO (ForeignPtr Tensor)
avg_pool2d_backward_out_tttlllbbl = cast9 Unmanaged.avg_pool2d_backward_out_tttlllbbl

avg_pool2d_backward_ttlllbbl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> CBool
  -> Int64
  -> IO (ForeignPtr Tensor)
avg_pool2d_backward_ttlllbbl = cast8 Unmanaged.avg_pool2d_backward_ttlllbbl

avg_pool3d_out_ttlllbbl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> CBool
  -> Int64
  -> IO (ForeignPtr Tensor)
avg_pool3d_out_ttlllbbl = cast8 Unmanaged.avg_pool3d_out_ttlllbbl

avg_pool3d_out_ttlllbb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
avg_pool3d_out_ttlllbb = cast7 Unmanaged.avg_pool3d_out_ttlllbb

avg_pool3d_out_ttlllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
avg_pool3d_out_ttlllb = cast6 Unmanaged.avg_pool3d_out_ttlllb

avg_pool3d_out_ttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
avg_pool3d_out_ttlll = cast5 Unmanaged.avg_pool3d_out_ttlll

avg_pool3d_out_ttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
avg_pool3d_out_ttll = cast4 Unmanaged.avg_pool3d_out_ttll

avg_pool3d_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
avg_pool3d_out_ttl = cast3 Unmanaged.avg_pool3d_out_ttl

avg_pool3d_tlllbbl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> CBool
  -> Int64
  -> IO (ForeignPtr Tensor)
avg_pool3d_tlllbbl = cast7 Unmanaged.avg_pool3d_tlllbbl

avg_pool3d_tlllbb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> CBool
  -> IO (ForeignPtr Tensor)
avg_pool3d_tlllbb = cast6 Unmanaged.avg_pool3d_tlllbb

avg_pool3d_tlllb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
avg_pool3d_tlllb = cast5 Unmanaged.avg_pool3d_tlllb

avg_pool3d_tlll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
avg_pool3d_tlll = cast4 Unmanaged.avg_pool3d_tlll

avg_pool3d_tll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
avg_pool3d_tll = cast3 Unmanaged.avg_pool3d_tll

avg_pool3d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
avg_pool3d_tl = cast2 Unmanaged.avg_pool3d_tl

avg_pool3d_backward_out_tttlllbbl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> CBool
  -> Int64
  -> IO (ForeignPtr Tensor)
avg_pool3d_backward_out_tttlllbbl = cast9 Unmanaged.avg_pool3d_backward_out_tttlllbbl

avg_pool3d_backward_ttlllbbl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> CBool
  -> Int64
  -> IO (ForeignPtr Tensor)
avg_pool3d_backward_ttlllbbl = cast8 Unmanaged.avg_pool3d_backward_ttlllbbl

fractional_max_pool2d_out_tttllt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
fractional_max_pool2d_out_tttllt = cast6 Unmanaged.fractional_max_pool2d_out_tttllt

fractional_max_pool2d_tllt
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
fractional_max_pool2d_tllt = cast4 Unmanaged.fractional_max_pool2d_tllt

fractional_max_pool2d_backward_out_tttllt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
fractional_max_pool2d_backward_out_tttllt = cast6 Unmanaged.fractional_max_pool2d_backward_out_tttllt

fractional_max_pool2d_backward_ttllt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
fractional_max_pool2d_backward_ttllt = cast5 Unmanaged.fractional_max_pool2d_backward_ttllt

fractional_max_pool3d_out_tttllt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
fractional_max_pool3d_out_tttllt = cast6 Unmanaged.fractional_max_pool3d_out_tttllt

fractional_max_pool3d_tllt
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
fractional_max_pool3d_tllt = cast4 Unmanaged.fractional_max_pool3d_tllt

fractional_max_pool3d_backward_out_tttllt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
fractional_max_pool3d_backward_out_tttllt = cast6 Unmanaged.fractional_max_pool3d_backward_out_tttllt

fractional_max_pool3d_backward_ttllt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
fractional_max_pool3d_backward_ttllt = cast5 Unmanaged.fractional_max_pool3d_backward_ttllt

max_pool2d_with_indices_out_tttllllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool2d_with_indices_out_tttllllb = cast8 Unmanaged.max_pool2d_with_indices_out_tttllllb

max_pool2d_with_indices_out_tttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool2d_with_indices_out_tttllll = cast7 Unmanaged.max_pool2d_with_indices_out_tttllll

max_pool2d_with_indices_out_tttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool2d_with_indices_out_tttlll = cast6 Unmanaged.max_pool2d_with_indices_out_tttlll

max_pool2d_with_indices_out_tttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool2d_with_indices_out_tttll = cast5 Unmanaged.max_pool2d_with_indices_out_tttll

max_pool2d_with_indices_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool2d_with_indices_out_tttl = cast4 Unmanaged.max_pool2d_with_indices_out_tttl

max_pool2d_with_indices_tllllb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool2d_with_indices_tllllb = cast6 Unmanaged.max_pool2d_with_indices_tllllb

max_pool2d_with_indices_tllll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool2d_with_indices_tllll = cast5 Unmanaged.max_pool2d_with_indices_tllll

max_pool2d_with_indices_tlll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool2d_with_indices_tlll = cast4 Unmanaged.max_pool2d_with_indices_tlll

max_pool2d_with_indices_tll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool2d_with_indices_tll = cast3 Unmanaged.max_pool2d_with_indices_tll

max_pool2d_with_indices_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool2d_with_indices_tl = cast2 Unmanaged.max_pool2d_with_indices_tl

max_pool2d_with_indices_backward_out_tttllllbt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
max_pool2d_with_indices_backward_out_tttllllbt = cast9 Unmanaged.max_pool2d_with_indices_backward_out_tttllllbt

max_pool2d_with_indices_backward_ttllllbt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
max_pool2d_with_indices_backward_ttllllbt = cast8 Unmanaged.max_pool2d_with_indices_backward_ttllllbt

max_pool3d_with_indices_out_tttllllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool3d_with_indices_out_tttllllb = cast8 Unmanaged.max_pool3d_with_indices_out_tttllllb

max_pool3d_with_indices_out_tttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool3d_with_indices_out_tttllll = cast7 Unmanaged.max_pool3d_with_indices_out_tttllll

max_pool3d_with_indices_out_tttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool3d_with_indices_out_tttlll = cast6 Unmanaged.max_pool3d_with_indices_out_tttlll

max_pool3d_with_indices_out_tttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool3d_with_indices_out_tttll = cast5 Unmanaged.max_pool3d_with_indices_out_tttll

max_pool3d_with_indices_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool3d_with_indices_out_tttl = cast4 Unmanaged.max_pool3d_with_indices_out_tttl

max_pool3d_with_indices_tllllb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool3d_with_indices_tllllb = cast6 Unmanaged.max_pool3d_with_indices_tllllb

max_pool3d_with_indices_tllll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool3d_with_indices_tllll = cast5 Unmanaged.max_pool3d_with_indices_tllll

max_pool3d_with_indices_tlll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool3d_with_indices_tlll = cast4 Unmanaged.max_pool3d_with_indices_tlll

max_pool3d_with_indices_tll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool3d_with_indices_tll = cast3 Unmanaged.max_pool3d_with_indices_tll

max_pool3d_with_indices_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
max_pool3d_with_indices_tl = cast2 Unmanaged.max_pool3d_with_indices_tl

max_pool3d_with_indices_backward_out_tttllllbt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
max_pool3d_with_indices_backward_out_tttllllbt = cast9 Unmanaged.max_pool3d_with_indices_backward_out_tttllllbt

max_pool3d_with_indices_backward_ttllllbt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
max_pool3d_with_indices_backward_ttllllbt = cast8 Unmanaged.max_pool3d_with_indices_backward_ttllllbt

max_unpool2d_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
max_unpool2d_out_tttl = cast4 Unmanaged.max_unpool2d_out_tttl

max_unpool2d_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
max_unpool2d_ttl = cast3 Unmanaged.max_unpool2d_ttl

max_unpool2d_backward_out_ttttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
max_unpool2d_backward_out_ttttl = cast5 Unmanaged.max_unpool2d_backward_out_ttttl

max_unpool2d_backward_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
max_unpool2d_backward_tttl = cast4 Unmanaged.max_unpool2d_backward_tttl

max_unpool3d_out_tttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
max_unpool3d_out_tttlll = cast6 Unmanaged.max_unpool3d_out_tttlll

max_unpool3d_ttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
max_unpool3d_ttlll = cast5 Unmanaged.max_unpool3d_ttlll

max_unpool3d_backward_out_ttttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
max_unpool3d_backward_out_ttttlll = cast7 Unmanaged.max_unpool3d_backward_out_ttttlll

max_unpool3d_backward_tttlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
max_unpool3d_backward_tttlll = cast6 Unmanaged.max_unpool3d_backward_tttlll

reflection_pad1d_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
reflection_pad1d_out_ttl = cast3 Unmanaged.reflection_pad1d_out_ttl

reflection_pad1d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
reflection_pad1d_tl = cast2 Unmanaged.reflection_pad1d_tl

reflection_pad1d_backward_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
reflection_pad1d_backward_out_tttl = cast4 Unmanaged.reflection_pad1d_backward_out_tttl

reflection_pad1d_backward_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
reflection_pad1d_backward_ttl = cast3 Unmanaged.reflection_pad1d_backward_ttl

reflection_pad2d_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
reflection_pad2d_out_ttl = cast3 Unmanaged.reflection_pad2d_out_ttl

reflection_pad2d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
reflection_pad2d_tl = cast2 Unmanaged.reflection_pad2d_tl

reflection_pad2d_backward_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
reflection_pad2d_backward_out_tttl = cast4 Unmanaged.reflection_pad2d_backward_out_tttl

reflection_pad2d_backward_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
reflection_pad2d_backward_ttl = cast3 Unmanaged.reflection_pad2d_backward_ttl

replication_pad1d_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
replication_pad1d_out_ttl = cast3 Unmanaged.replication_pad1d_out_ttl

replication_pad1d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
replication_pad1d_tl = cast2 Unmanaged.replication_pad1d_tl

replication_pad1d_backward_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
replication_pad1d_backward_out_tttl = cast4 Unmanaged.replication_pad1d_backward_out_tttl

replication_pad1d_backward_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
replication_pad1d_backward_ttl = cast3 Unmanaged.replication_pad1d_backward_ttl

replication_pad2d_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
replication_pad2d_out_ttl = cast3 Unmanaged.replication_pad2d_out_ttl

replication_pad2d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
replication_pad2d_tl = cast2 Unmanaged.replication_pad2d_tl

replication_pad2d_backward_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
replication_pad2d_backward_out_tttl = cast4 Unmanaged.replication_pad2d_backward_out_tttl

replication_pad2d_backward_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
replication_pad2d_backward_ttl = cast3 Unmanaged.replication_pad2d_backward_ttl

replication_pad3d_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
replication_pad3d_out_ttl = cast3 Unmanaged.replication_pad3d_out_ttl

replication_pad3d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
replication_pad3d_tl = cast2 Unmanaged.replication_pad3d_tl

replication_pad3d_backward_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
replication_pad3d_backward_out_tttl = cast4 Unmanaged.replication_pad3d_backward_out_tttl

replication_pad3d_backward_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
replication_pad3d_backward_ttl = cast3 Unmanaged.replication_pad3d_backward_ttl

upsample_linear1d_out_ttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
upsample_linear1d_out_ttlb = cast4 Unmanaged.upsample_linear1d_out_ttlb

upsample_linear1d_tlb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
upsample_linear1d_tlb = cast3 Unmanaged.upsample_linear1d_tlb

upsample_linear1d_backward_out_ttllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
upsample_linear1d_backward_out_ttllb = cast5 Unmanaged.upsample_linear1d_backward_out_ttllb

upsample_linear1d_backward_tllb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
upsample_linear1d_backward_tllb = cast4 Unmanaged.upsample_linear1d_backward_tllb

upsample_bilinear2d_out_ttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
upsample_bilinear2d_out_ttlb = cast4 Unmanaged.upsample_bilinear2d_out_ttlb

upsample_bilinear2d_tlb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
upsample_bilinear2d_tlb = cast3 Unmanaged.upsample_bilinear2d_tlb

upsample_bilinear2d_backward_out_ttllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
upsample_bilinear2d_backward_out_ttllb = cast5 Unmanaged.upsample_bilinear2d_backward_out_ttllb

upsample_bilinear2d_backward_tllb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
upsample_bilinear2d_backward_tllb = cast4 Unmanaged.upsample_bilinear2d_backward_tllb

upsample_bicubic2d_out_ttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
upsample_bicubic2d_out_ttlb = cast4 Unmanaged.upsample_bicubic2d_out_ttlb

upsample_bicubic2d_tlb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
upsample_bicubic2d_tlb = cast3 Unmanaged.upsample_bicubic2d_tlb

upsample_bicubic2d_backward_out_ttllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
upsample_bicubic2d_backward_out_ttllb = cast5 Unmanaged.upsample_bicubic2d_backward_out_ttllb

upsample_bicubic2d_backward_tllb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
upsample_bicubic2d_backward_tllb = cast4 Unmanaged.upsample_bicubic2d_backward_tllb

upsample_trilinear3d_out_ttlb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
upsample_trilinear3d_out_ttlb = cast4 Unmanaged.upsample_trilinear3d_out_ttlb

upsample_trilinear3d_tlb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
upsample_trilinear3d_tlb = cast3 Unmanaged.upsample_trilinear3d_tlb

upsample_trilinear3d_backward_out_ttllb
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
upsample_trilinear3d_backward_out_ttllb = cast5 Unmanaged.upsample_trilinear3d_backward_out_ttllb

upsample_trilinear3d_backward_tllb
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> CBool
  -> IO (ForeignPtr Tensor)
upsample_trilinear3d_backward_tllb = cast4 Unmanaged.upsample_trilinear3d_backward_tllb

upsample_nearest1d_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
upsample_nearest1d_out_ttl = cast3 Unmanaged.upsample_nearest1d_out_ttl

upsample_nearest1d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
upsample_nearest1d_tl = cast2 Unmanaged.upsample_nearest1d_tl

upsample_nearest1d_backward_out_ttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
upsample_nearest1d_backward_out_ttll = cast4 Unmanaged.upsample_nearest1d_backward_out_ttll

upsample_nearest1d_backward_tll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
upsample_nearest1d_backward_tll = cast3 Unmanaged.upsample_nearest1d_backward_tll

upsample_nearest2d_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
upsample_nearest2d_out_ttl = cast3 Unmanaged.upsample_nearest2d_out_ttl

upsample_nearest2d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
upsample_nearest2d_tl = cast2 Unmanaged.upsample_nearest2d_tl

upsample_nearest2d_backward_out_ttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
upsample_nearest2d_backward_out_ttll = cast4 Unmanaged.upsample_nearest2d_backward_out_ttll

upsample_nearest2d_backward_tll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
upsample_nearest2d_backward_tll = cast3 Unmanaged.upsample_nearest2d_backward_tll

upsample_nearest3d_out_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
upsample_nearest3d_out_ttl = cast3 Unmanaged.upsample_nearest3d_out_ttl

upsample_nearest3d_tl
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
upsample_nearest3d_tl = cast2 Unmanaged.upsample_nearest3d_tl

upsample_nearest3d_backward_out_ttll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
upsample_nearest3d_backward_out_ttll = cast4 Unmanaged.upsample_nearest3d_backward_out_ttll

upsample_nearest3d_backward_tll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
upsample_nearest3d_backward_tll = cast3 Unmanaged.upsample_nearest3d_backward_tll

sigmoid_backward_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sigmoid_backward_out_ttt = cast3 Unmanaged.sigmoid_backward_out_ttt

sigmoid_backward_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
sigmoid_backward_tt = cast2 Unmanaged.sigmoid_backward_tt

tanh_backward_out_ttt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
tanh_backward_out_ttt = cast3 Unmanaged.tanh_backward_out_ttt

tanh_backward_tt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
tanh_backward_tt = cast2 Unmanaged.tanh_backward_tt

slow_conv_transpose2d_out_tttltllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_transpose2d_out_tttltllll = cast9 Unmanaged.slow_conv_transpose2d_out_tttltllll

slow_conv_transpose2d_out_tttltlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_transpose2d_out_tttltlll = cast8 Unmanaged.slow_conv_transpose2d_out_tttltlll

slow_conv_transpose2d_out_tttltll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_transpose2d_out_tttltll = cast7 Unmanaged.slow_conv_transpose2d_out_tttltll

slow_conv_transpose2d_out_tttltl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_transpose2d_out_tttltl = cast6 Unmanaged.slow_conv_transpose2d_out_tttltl

slow_conv_transpose2d_out_tttlt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
slow_conv_transpose2d_out_tttlt = cast5 Unmanaged.slow_conv_transpose2d_out_tttlt

slow_conv_transpose2d_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_transpose2d_out_tttl = cast4 Unmanaged.slow_conv_transpose2d_out_tttl

slow_conv_transpose2d_ttltllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_transpose2d_ttltllll = cast8 Unmanaged.slow_conv_transpose2d_ttltllll

slow_conv_transpose2d_ttltlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_transpose2d_ttltlll = cast7 Unmanaged.slow_conv_transpose2d_ttltlll

slow_conv_transpose2d_ttltll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_transpose2d_ttltll = cast6 Unmanaged.slow_conv_transpose2d_ttltll

slow_conv_transpose2d_ttltl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_transpose2d_ttltl = cast5 Unmanaged.slow_conv_transpose2d_ttltl

slow_conv_transpose2d_ttlt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
slow_conv_transpose2d_ttlt = cast4 Unmanaged.slow_conv_transpose2d_ttlt

slow_conv_transpose2d_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_transpose2d_ttl = cast3 Unmanaged.slow_conv_transpose2d_ttl

slow_conv_transpose2d_backward_out_ttttttllllltt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
slow_conv_transpose2d_backward_out_ttttttllllltt = cast13 Unmanaged.slow_conv_transpose2d_backward_out_ttttttllllltt

slow_conv_transpose2d_backward_tttllllltta
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
slow_conv_transpose2d_backward_tttllllltta = cast11 Unmanaged.slow_conv_transpose2d_backward_tttllllltta

slow_conv_transpose3d_out_tttltllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_transpose3d_out_tttltllll = cast9 Unmanaged.slow_conv_transpose3d_out_tttltllll

slow_conv_transpose3d_out_tttltlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_transpose3d_out_tttltlll = cast8 Unmanaged.slow_conv_transpose3d_out_tttltlll

slow_conv_transpose3d_out_tttltll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_transpose3d_out_tttltll = cast7 Unmanaged.slow_conv_transpose3d_out_tttltll

slow_conv_transpose3d_out_tttltl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_transpose3d_out_tttltl = cast6 Unmanaged.slow_conv_transpose3d_out_tttltl

slow_conv_transpose3d_out_tttlt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
slow_conv_transpose3d_out_tttlt = cast5 Unmanaged.slow_conv_transpose3d_out_tttlt

slow_conv_transpose3d_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_transpose3d_out_tttl = cast4 Unmanaged.slow_conv_transpose3d_out_tttl

slow_conv_transpose3d_ttltllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_transpose3d_ttltllll = cast8 Unmanaged.slow_conv_transpose3d_ttltllll

slow_conv_transpose3d_ttltlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_transpose3d_ttltlll = cast7 Unmanaged.slow_conv_transpose3d_ttltlll

slow_conv_transpose3d_ttltll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_transpose3d_ttltll = cast6 Unmanaged.slow_conv_transpose3d_ttltll

slow_conv_transpose3d_ttltl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_transpose3d_ttltl = cast5 Unmanaged.slow_conv_transpose3d_ttltl

slow_conv_transpose3d_ttlt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
slow_conv_transpose3d_ttlt = cast4 Unmanaged.slow_conv_transpose3d_ttlt

slow_conv_transpose3d_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_transpose3d_ttl = cast3 Unmanaged.slow_conv_transpose3d_ttl

slow_conv_transpose3d_backward_out_ttttttllllltt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
slow_conv_transpose3d_backward_out_ttttttllllltt = cast13 Unmanaged.slow_conv_transpose3d_backward_out_ttttttllllltt

slow_conv_transpose3d_backward_tttllllltta
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
slow_conv_transpose3d_backward_tttllllltta = cast11 Unmanaged.slow_conv_transpose3d_backward_tttllllltta

thnn_conv2d_out_tttltll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv2d_out_tttltll = cast7 Unmanaged.thnn_conv2d_out_tttltll

thnn_conv2d_out_tttltl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv2d_out_tttltl = cast6 Unmanaged.thnn_conv2d_out_tttltl

thnn_conv2d_out_tttlt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
thnn_conv2d_out_tttlt = cast5 Unmanaged.thnn_conv2d_out_tttlt

thnn_conv2d_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv2d_out_tttl = cast4 Unmanaged.thnn_conv2d_out_tttl

thnn_conv2d_ttltll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv2d_ttltll = cast6 Unmanaged.thnn_conv2d_ttltll

thnn_conv2d_ttltl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv2d_ttltl = cast5 Unmanaged.thnn_conv2d_ttltl

thnn_conv2d_ttlt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
thnn_conv2d_ttlt = cast4 Unmanaged.thnn_conv2d_ttlt

thnn_conv2d_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv2d_ttl = cast3 Unmanaged.thnn_conv2d_ttl

thnn_conv2d_forward_out_tttttltll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
thnn_conv2d_forward_out_tttttltll = cast9 Unmanaged.thnn_conv2d_forward_out_tttttltll

thnn_conv2d_forward_ttltll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
thnn_conv2d_forward_ttltll = cast6 Unmanaged.thnn_conv2d_forward_ttltll

thnn_conv2d_backward_out_ttttttllltt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
thnn_conv2d_backward_out_ttttttllltt = cast11 Unmanaged.thnn_conv2d_backward_out_ttttttllltt

thnn_conv2d_backward_tttllltta
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
thnn_conv2d_backward_tttllltta = cast9 Unmanaged.thnn_conv2d_backward_tttllltta

thnn_conv_depthwise2d_out_tttltlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv_depthwise2d_out_tttltlll = cast8 Unmanaged.thnn_conv_depthwise2d_out_tttltlll

thnn_conv_depthwise2d_out_tttltll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv_depthwise2d_out_tttltll = cast7 Unmanaged.thnn_conv_depthwise2d_out_tttltll

thnn_conv_depthwise2d_out_tttltl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv_depthwise2d_out_tttltl = cast6 Unmanaged.thnn_conv_depthwise2d_out_tttltl

thnn_conv_depthwise2d_out_tttlt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
thnn_conv_depthwise2d_out_tttlt = cast5 Unmanaged.thnn_conv_depthwise2d_out_tttlt

thnn_conv_depthwise2d_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv_depthwise2d_out_tttl = cast4 Unmanaged.thnn_conv_depthwise2d_out_tttl

thnn_conv_depthwise2d_ttltlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv_depthwise2d_ttltlll = cast7 Unmanaged.thnn_conv_depthwise2d_ttltlll

thnn_conv_depthwise2d_ttltll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv_depthwise2d_ttltll = cast6 Unmanaged.thnn_conv_depthwise2d_ttltll

thnn_conv_depthwise2d_ttltl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv_depthwise2d_ttltl = cast5 Unmanaged.thnn_conv_depthwise2d_ttltl

thnn_conv_depthwise2d_ttlt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
thnn_conv_depthwise2d_ttlt = cast4 Unmanaged.thnn_conv_depthwise2d_ttlt

thnn_conv_depthwise2d_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv_depthwise2d_ttl = cast3 Unmanaged.thnn_conv_depthwise2d_ttl

thnn_conv_depthwise2d_forward_out_tttltlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv_depthwise2d_forward_out_tttltlll = cast8 Unmanaged.thnn_conv_depthwise2d_forward_out_tttltlll

thnn_conv_depthwise2d_forward_ttltlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv_depthwise2d_forward_ttltlll = cast7 Unmanaged.thnn_conv_depthwise2d_forward_ttltlll

thnn_conv_depthwise2d_backward_out_tttttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
thnn_conv_depthwise2d_backward_out_tttttllll = cast9 Unmanaged.thnn_conv_depthwise2d_backward_out_tttttllll

thnn_conv_depthwise2d_backward_tttlllla
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr (StdArray '(CBool,2))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor)))
thnn_conv_depthwise2d_backward_tttlllla = cast8 Unmanaged.thnn_conv_depthwise2d_backward_tttlllla

thnn_conv3d_out_tttltll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv3d_out_tttltll = cast7 Unmanaged.thnn_conv3d_out_tttltll

thnn_conv3d_out_tttltl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv3d_out_tttltl = cast6 Unmanaged.thnn_conv3d_out_tttltl

thnn_conv3d_out_tttlt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
thnn_conv3d_out_tttlt = cast5 Unmanaged.thnn_conv3d_out_tttlt

thnn_conv3d_out_tttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv3d_out_tttl = cast4 Unmanaged.thnn_conv3d_out_tttl

thnn_conv3d_ttltll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv3d_ttltll = cast6 Unmanaged.thnn_conv3d_ttltll

thnn_conv3d_ttltl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv3d_ttltl = cast5 Unmanaged.thnn_conv3d_ttltl

thnn_conv3d_ttlt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
thnn_conv3d_ttlt = cast4 Unmanaged.thnn_conv3d_ttlt

thnn_conv3d_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
thnn_conv3d_ttl = cast3 Unmanaged.thnn_conv3d_ttl

thnn_conv3d_forward_out_tttttltll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
thnn_conv3d_forward_out_tttttltll = cast9 Unmanaged.thnn_conv3d_forward_out_tttttltll

thnn_conv3d_forward_ttltll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
thnn_conv3d_forward_ttltll = cast6 Unmanaged.thnn_conv3d_forward_ttltll

thnn_conv3d_backward_out_ttttttllltt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
thnn_conv3d_backward_out_ttttttllltt = cast11 Unmanaged.thnn_conv3d_backward_out_ttttttllltt

thnn_conv3d_backward_tttllltta
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
thnn_conv3d_backward_tttllltta = cast9 Unmanaged.thnn_conv3d_backward_tttllltta

slow_conv_dilated2d_ttltlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_dilated2d_ttltlll = cast7 Unmanaged.slow_conv_dilated2d_ttltlll

slow_conv_dilated2d_ttltll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_dilated2d_ttltll = cast6 Unmanaged.slow_conv_dilated2d_ttltll

slow_conv_dilated2d_ttltl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_dilated2d_ttltl = cast5 Unmanaged.slow_conv_dilated2d_ttltl

slow_conv_dilated2d_ttlt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
slow_conv_dilated2d_ttlt = cast4 Unmanaged.slow_conv_dilated2d_ttlt

slow_conv_dilated2d_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_dilated2d_ttl = cast3 Unmanaged.slow_conv_dilated2d_ttl

slow_conv_dilated2d_backward_tttlllla
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
slow_conv_dilated2d_backward_tttlllla = cast8 Unmanaged.slow_conv_dilated2d_backward_tttlllla

slow_conv_dilated3d_ttltlll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_dilated3d_ttltlll = cast7 Unmanaged.slow_conv_dilated3d_ttltlll

slow_conv_dilated3d_ttltll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_dilated3d_ttltll = cast6 Unmanaged.slow_conv_dilated3d_ttltll

slow_conv_dilated3d_ttltl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_dilated3d_ttltl = cast5 Unmanaged.slow_conv_dilated3d_ttltl

slow_conv_dilated3d_ttlt
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr Tensor
  -> IO (ForeignPtr Tensor)
slow_conv_dilated3d_ttlt = cast4 Unmanaged.slow_conv_dilated3d_ttlt

slow_conv_dilated3d_ttl
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
slow_conv_dilated3d_ttl = cast3 Unmanaged.slow_conv_dilated3d_ttl

slow_conv_dilated3d_backward_tttlllla
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr (StdArray '(CBool,3))
  -> IO (ForeignPtr (StdTuple '(Tensor,Tensor,Tensor)))
slow_conv_dilated3d_backward_tttlllla = cast8 Unmanaged.slow_conv_dilated3d_backward_tttlllla

col2im_out_ttlllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
col2im_out_ttlllll = cast7 Unmanaged.col2im_out_ttlllll

col2im_tlllll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
col2im_tlllll = cast6 Unmanaged.col2im_tlllll

col2im_backward_out_ttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
col2im_backward_out_ttllll = cast6 Unmanaged.col2im_backward_out_ttllll

col2im_backward_tllll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
col2im_backward_tllll = cast5 Unmanaged.col2im_backward_tllll

im2col_out_ttllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
im2col_out_ttllll = cast6 Unmanaged.im2col_out_ttllll

im2col_tllll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
im2col_tllll = cast5 Unmanaged.im2col_tllll

im2col_backward_out_ttlllll
  :: ForeignPtr Tensor
  -> ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
im2col_backward_out_ttlllll = cast7 Unmanaged.im2col_backward_out_ttlllll

im2col_backward_tlllll
  :: ForeignPtr Tensor
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> ForeignPtr IntArray
  -> IO (ForeignPtr Tensor)
im2col_backward_tlllll = cast6 Unmanaged.im2col_backward_tlllll